Pandas: 特定の文字列を含む行を削除する方法
次の構文を使用して、pandas DataFrame 内の特定の文字列を含む行を削除できます。
df[df[" col "]. str . contains (" this string ") == False ]
このチュートリアルでは、次の DataFrame を使用したこの構文の実際の使用例をいくつか説明します。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'], ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'], ' points ': [11, 8, 10, 6, 6, 5]}) #view DataFrame df team conference points 0 A East 11 1 A East 8 2 A East 10 3 B West 6 4 B West 6 5 C East 5
例 1: 特定の文字列を含む行を削除する
次のコードは、チーム列に「A」を含むすべての行を DataFrame から削除する方法を示しています。
df[df[" team "]. str . contains (" A ")== False ] team conference points 3 B West 6 4 B West 6 5 C East 5
例 2: リスト内の文字列を含む行を削除する
次のコードは、チーム列に「A」または「B」を含むすべての行を DataFrame から削除する方法を示しています。
df[df[" team "]. str . contains (" A|B ")== False ] team conference points 5 C East 5
例 3: 部分文字列を含む行を削除する
前の例では、1 つ以上の文字列と完全に一致する行に基づいて行を削除しました。
ただし、部分的な文字列を含む行を削除する場合は、次の構文を使用できます。
#identify partial string to look for discard = [" Wes "] #drop rows that contain the partial string "Wes" in the conference column df[~df. conference . str . contains (' | ' .join (discard))] team conference points 0 A East 11 1 A East 8 2 A East 10 5 C East 5
このページでは、パンダのチュートリアルをさらに見つけることができます。