排除包含特定字符串的行



我有一个数据集,看起来像:

df.head()
applicationstartdate    segment fpd_30  fpd_90  fstpd_30
0   2020-01-01 00:04:10 3a.TBC Payroll with CB  0.0 0.0 0.0
1   2020-01-01 00:04:17 3a.TBC Payroll with CB  0.0 0.0 0.0
2   2020-01-01 00:14:25 1.TBC Payroll with CH (All) 0.0 0.0 0.0
3   2020-01-01 00:31:59 1.TBC Payroll with CH (All) 0.0 0.0 0.0
4   2020-01-01 00:41:49 1.TBC Payroll with CH (All) 0.0 0.0 0.

我想排除包含单词"Payroll"的所有行。In column "segment&;

我试着:

df2 = df[~df["segment"].str.contains('Payroll')]

了:

TypeError: unary ~: 'float'操作数类型错误

请帮忙。

您的列中可能有nan,您可以使用:

df2 = df[~df["segment"].fillna('').str.contains('Payroll')]

或者,如果您还想过滤掉nan:

df2 = df[~df["segment"].fillna('Payroll').str.contains('Payroll')]

您可以使用na = True参数-因为您正在否定条件,并且您希望过滤NaN

df2 = df[~df['segment'].str.contains('Payroll', na=True)]

最新更新