パンダ: 名前に特定の文字列が含まれている場合は列を削除します
次のメソッドを使用して、名前に特定の文字列が含まれる pandas DataFrame から列を削除できます。
方法 1: 名前に特定の文字列が含まれる場合は列を削除する
df. drop (list(df. filter (regex=' this_string ')), axis= 1 , inplace= True )
方法 2: 名前に複数の特定の文字列のいずれかが含まれている場合は列を削除する
df. drop (list(df. filter (regex=' string1|string2|string3 ')), axis= 1 , inplace= True )
次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team_name ': ['A', 'B', 'C', 'D', 'E', 'F'], ' team_location ': ['AU', 'AU', 'EU', 'EU', 'AU', 'EU'], ' player_name ': ['Andy', 'Bob', 'Chad', 'Dan', 'Ed', 'Fran'], ' points ': [22, 29, 35, 30, 18, 12]}) #view DataFrame print (df) team_name team_location player_name points 0 A AU Andy 22 1 B AU Bob 29 2 C EU Chad 35 3 D EU Dan 30 4 E TO Ed 18 5 F EU Fran 12
例 1: 名前に特定の文字列が含まれる場合は列を削除する
次の構文を使用して、列名のどこかに「team」を含む列を DataFrame から削除できます。
#drop columns whose name contains 'team' df. drop (list(df. filter (regex=' team ')), axis= 1 , inplace= True ) #view updated DataFrame print (df) player_name points 0 Andy 22 1 Bob 29 2 Chad 35 3 Dan 30 4 Ed 18 5 Fran 12
名前に「チーム」を含む 2 つの列がデータフレームから削除されていることに注意してください。
例 2: 名前に複数の特定の文字列のいずれかが含まれる場合は列を削除する
次の構文を使用して、列名のどこかに「player」または「points」を含む列を DataFrame から削除できます。
#drop columns whose name contains 'player' or 'points' df. drop (list(df. filter (regex=' player|points ')), axis= 1 , inplace= True ) #view updated DataFrame print (df) team_name team_location 0 A AU 1 B AU 2 C EU 3D EU 4 E AU 5 F EU
名前に「player」または「points」を含む 2 つの列がデータフレームから削除されていることに注意してください。
注: | pandas の記号は「OR」演算子として使用されます。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
Pandasの最初の列を削除する方法
Pandasで重複した列を削除する方法
Pandasで一部を除くすべての列を削除する方法