Pandas: 部分一致に基づいて列を選択する方法
次のメソッドを使用して、部分一致に基づいて pandas DataFrame 内の列を選択できます。
方法 1: 部分一致に基づいて列を選択する
#select columns that contain 'team'
df. loc [:, df. columns . str . contains (' team ')]
方法 2: 複数の部分一致に基づいて列を選択する
#select columns that contain 'team' or 'rebounds'
df. loc [:, df. columns . str . contains (' team|rebounds ')]
次の例は、次の pandas DataFrame で各メソッドを使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team_name ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' team_points ': [5, 7, 7, 9, 12, 9, 9, 4], ' assists ': [11, 8, 10, 6, 6, 5, 9, 12], ' rebounds ': [6, 7, 7, 6, 10, 12, 10, 9]}) #view DataFrame print (df) team_name team_points assists rebounds 0 A 5 11 6 1 To 7 8 7 2 To 7 10 7 3 to 9 6 6 4 B 12 6 10 5 B 9 5 12 6 B 9 9 10 7 B 4 12 9
例 1: 部分一致に基づいて列を選択する
次のコードは、列名に「team」を含む pandas DataFrame 内のすべての列を選択する方法を示しています。
#select columns that contain 'team'
df_team_cols = df. loc [:, df. columns . str . contains (' team ')]
#view results
print (df_team_cols)
team_name team_points
0 to 5
1 to 7
2 to 7
3 to 9
4 B 12
5 B 9
6 B 9
7 B 4
名前に「チーム」が含まれる両方の列が返されることに注意してください。
例 2: 複数の部分一致に基づいて列を選択する
次のコードは、列名に「team」または「bounces」を含む pandas DataFrame 内のすべての列を選択する方法を示しています。
#select columns that contain 'team' or 'rebounds'
df_team_rebs = df. loc [:, df. columns . str . contains (' team|rebounds ')]
#view results
print (df_team_rebs)
team_name team_points rebounds
0 to 5 6
1 To 7 7
2 to 7 7
3 to 9 6
4 B 12 10
5 B 9 12
6 B 9 10
7 B 4 9
名前に「チーム」または「リバウンド」が含まれるすべての列が返されます。
注: |演算子はパンダでは「OR」を表します。
これらの演算子を必要なだけ自由に使用して、部分的な文字列一致を検索できます。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas で名前で列を選択する方法
Pandas でインデックスによって列を選択する方法
Pandas でデータ型によって列を選択する方法