我在python中有一个非常大的数据框,我想在特定列中删除所有具有特定字符串的行。
例如,我想在数据框的列C中删除所有具有字符串“ XYZ”作为子字符串的行。
可以使用.drop()方法以一种有效的方式来实现吗?
pandas具有向量化的字符串操作,因此您可以过滤掉包含不需要的字符串的行:
In [91]: df = pd.DataFrame(dict(A=[5,3,5,6], C=["foo","bar","fooXYZbar", "bat"])) In [92]: df Out[92]: A C 0 5 foo 1 3 bar 2 5 fooXYZbar 3 6 bat In [93]: df[~df.C.str.contains("XYZ")] Out[93]: A C 0 5 foo 1 3 bar 3 6 bat