![](/img/trans.png)
[英]Python pandas Dataframe : Delete all rows until the first occurrence of a certain value
[英]Delete rows with a certain value in Python and Pandas
我想删除具有特定值的行。 我要删除的值有一个“+” ,如下所示:
合作+并行
被动+亲社会
我的数据集包含 900000 行,大约 2000 个值包含我提到的问题。
我想要这样的代码:
df = df[df.columnname != '+']
以上是针对一列的(效果不佳),但我也想要一个针对整个数据集的示例。
我更喜欢 Pandas 中的解决方案。
非常感谢
使用Series.str.contains
与倒置面膜~
逃逸+
,因为有特殊的正则表达式字符DataFrame.apply
供选择的全部对象列DataFrame.select_dtypes
与DataFrame.any
测试至少一个匹配:
df1 = df[~df.select_dtypes(object).apply(lambda x: x.str.contains('\+')).any(axis=1)]
或使用regex=False
:
df1 = df[~df.select_dtypes(object).apply(lambda x: x.str.contains('\+', regex=False)).any(axis=1)]
df = df[~df['columnname'].str.contains('+', regex=False)]
文档在这里: https : //pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.contains.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.