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:删除包含特定字符串的行
以下代码显示如何从 DataFrame 中删除团队列中包含“A”的所有行:
df[df[" team "]. str . contains (" A ")== False ] team conference points 3 B West 6 4 B West 6 5 C East 5
示例 2:删除列表中包含字符串的行
以下代码显示如何从 DataFrame 中删除团队列中包含“A”或“B”的所有行:
df[df[" team "]. str . contains (" A|B ")== False ] team conference points 5 C East 5
示例 3:删除包含部分字符串的行
在前面的示例中,我们根据与一个或多个字符串完全匹配的行删除了行。
但是,如果我们想删除包含部分字符串的行,我们可以使用以下语法:
#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
您可以在此页面上找到更多熊猫教程。