python - 在 Python 3 中清理数据框
问题描述
我有一个数据框(haveleft),里面装满了离开服务的人以及他们离开的原因。'text' 列是他们的原因,但其中一些不是字符串。不多,所以我只想删除这些行,无论是就地还是新的数据框。下面的代码只是给了我一个只填充了 NaN 的数据框。为什么它不起作用?
cleanedleft = pd.DataFrame()
cleanedleft = haveleft[haveleft[haveleft['text'] == str]]
print(holder[0:10])
或者如果我删除“haveleft []”之一,我会得到一个空数据框
cleanedleft = pd.DataFrame()
cleanedleft = haveleft[haveleft['text'] == str]
print(holder[0:10])
我试图添加一个 type() 但似乎无法弄清楚如何做到这一点。
解决方案
它不起作用,因为 DataFrame 列不能包含混合类型;text
即使某些值是数字,您的列也将是字符串或对象。您需要弄清楚如何表征不需要的数据并相应地删除它们。
例如,要删除“文本”仅包含数字的行,如您给出的单行示例:
cleaned = df[~df['text'].str.match('^\d+$')]
推荐阅读
- python - 在 python 中的网格上创建具有法线的曲面点
- apache-spark - 如何确定 Spark 中的存储桶数量
- reactjs - Office React Fabric 事件已声明但从未使用过 演示代码错误
- inno-setup - 如何将文本添加到按钮上方的 Inno Setup 斜线?
- ios - 如何访问 UITableView 中每一行的照片相册
- sql - 用于在值之间进行插值的 SQL 查询
- linear-programming - 如何将ampl文件转换为cplex?
- javascript - Mongo 查询不返回任何内容
- docker - 从外部使用 docker/singularity 映像内部的 gcc 编译器进行编译
- html - 如何仅设置 div 文本的样式