cqwcns 发表于 2021-1-13 12:12

python pandas清洗不包含。

以下代码是清洗包含“集客”的行,但我希望是清洗不包含“家客”的行,我尝试用not in但发现是不行的。
求清洗不包含“家客”的行的代码,谢谢指教。

# 清洗非家客人员
df_personnel = df_personnel.drop(df_personnel.str.contains('集客')].index)

Li7 发表于 2021-1-13 13:03

本帖最后由 Li7 于 2021-1-13 13:08 编辑

等到的应该是索引,整个df取索引非应该就是你要的。语法不是很熟,你查查资料。

以下结构不知道对你是否有帮助
```
df1['A']=df1['A'].fillna('null') #将df中A列所有空值赋值为'null'
print(df1)
df1=df1[~df1['A'].isin(['null'])]
print(df1)
```

lvcaolhx 发表于 2021-1-13 13:35

一楼正解

cqwcns 发表于 2021-1-13 15:29

浅薄了,未看懂二楼的意思{:301_977:}

荆棘之吻 发表于 2021-1-13 15:45

df_personnel[~ df_personnel['所属组织'].str.contains('集客')]

加上~ 符号筛选非集客
看一楼的意思应该是这样

rsnodame 发表于 2021-1-13 16:03

楼上正解。加个~表示反集

cqwcns 发表于 2021-1-13 16:03

荆棘之吻 发表于 2021-1-13 15:45
df_personnel[~ df_personnel['所属组织'].str.contains('集客')]

加上~ 符号筛选非集客


搞明白了,这个~号好像是有not 的功能,学习了。

cqwcns 发表于 2021-1-13 16:11

这个~的用法是什么?我尝试百度搜索,搜不到。

rsnodame 发表于 2021-1-13 16:30

cqwcns 发表于 2021-1-13 16:11
这个~的用法是什么?我尝试百度搜索,搜不到。

应该是继承自numpy的取反操作
翻阅一些pandas的手册里有

千年恨 发表于 2021-1-13 19:36

还不如写入到mysql 用sql语句过滤方便呢
页: [1]
查看完整版本: python pandas清洗不包含。