Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python-Pandasのクエリ関数を使用して列値に基づいて行をフィルタリングしますか?


列の値に基づいて行をフィルタリングするには、query()関数を使用できます。関数で、レコードをフィルタリングする条件を設定します。まず、必要なライブラリをインポートします-

import pandas as pd

以下は、チームレコードのデータです-

Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]]

上からDataFrameを作成し、列も追加します-

dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])

query()を使用して、「ランク」が5に等しいレコードをフィルタリングします-

dataFrame.query("Rank == 5"))

以下は完全なコードです-

import pandas as pd

# data in the form of list of team rankings
Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]]

# Creating a DataFrame and add columns
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])

print"DataFrame...\n",dataFrame

# using query to filter rows
print"\nFetch Team with Rank 5..\n",dataFrame.query("Rank == 5")

出力

これにより、次の出力が生成されます-

DataFrame...
        Country   Rank   Points
0         India      1      100
1     Australia      2       85
2       England      3       75
3   New Zealand      4       65
4  South Africa      5       50
5    Bangladesh      6       40

Fetch Team with Rank 5..
        Country   Rank   Points
4  South Africa      5       50

別の例を見てみましょう。ここでは、行をフィルタリングするための別の条件があります-

import pandas as pd

# data in the form of list of team rankings
Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]]

# Creating a DataFrame and add columns
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])

print"DataFrame...\n",dataFrame

# using query to filter rows
print"\nFetch Team with points above 70 and Rank less than 3..\n"
print(dataFrame.query("Points > 70 and Rank <3"))

出力

これにより、次の出力が生成されます-

DataFrame...
        Country   Rank   Points
0         India      1      100
1     Australia      2       85
2       England      3       75
3   New Zealand      4       65
4  South Africa      5       50
5    Bangladesh      6       40

Fetch Team with points above 70 and Rank less than 3..

     Country   Rank   Points
0      India      1      100
1  Australia      2       85

  1. Python-DataFrameの値をPandasの別のDataFrameの値に置き換えます

    DataFrameの値を別のDataFrameの値に置き換えるには、replace()メソッドnPandasを使用します。 まず、最初にDataFrameを作成しましょう- dataFrame1 = pd.DataFrame({"Car": ["Audi", "Lamborghini"], "Place": ["US", "UK"], "Units": [200, 500]}) 別のDataFrameを作成しましょう- dataFrame2 = pd.

  2. Pythonで特定の条件に基づいてPandasデータフレーム列を作成する

    Pandasは、Pythonプログラムでデータを処理するためのデータフレームを作成します。この記事では、特定の条件に基づいて既存のデータフレームに新しい列を追加する方法を説明します。 指定されたデータフレーム 以下は、追加の列を追加する特定のpandasDataFrameです。試験の日数と科目について説明しています。 例 import pandas as pd # Lists for Exam subjects and Days Days = ['Mon', 'Tue', 'Wed','Thu', 'Fri']