python-3.x - 熊猫:删除缺少数据的行
问题描述
我正在使用以下代码删除熊猫中缺少数据的一些行:
df = df.replace(r'^\s+$', np.nan, regex=True)
df = df.replace(r'^\t+$', np.nan, regex=True)
df = df.dropna()
但是,我仍然有一些数据框中的单元格看起来是空白/空的。为什么会这样?有什么办法可以摆脱这种空/空白单元格的行吗?谢谢!
解决方案
您可以使用:
df = df.replace('', np.nan)
如果想简化您的代码,可以加入正则表达式|
并用于空白空间^$
:
df = pd.DataFrame({'A':list('abcdef'),
'B':['',5,4,5,5,4],
'C':['',' ',' ',4,2,3],
'D':[1,3,5,7,' ',0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')})
df = df.replace(r'^\s+$|^\t+$|^$', np.nan, regex=True)
print (df)
A B C D E F
0 a NaN NaN 1.0 5 a
1 b 5.0 NaN 3.0 3 a
2 c 4.0 NaN 5.0 6 a
3 d 5.0 4.0 7.0 9 b
4 e 5.0 2.0 NaN 2 b
5 f 4.0 3.0 0.0 4 b
推荐阅读
- python - '=\' 运算符在 Python 中是什么意思
- reactjs - 如何删除 mui 文本字段中的默认值,以便我可以键入新值而不显示默认值?
- javascript - 隐藏 html 动态切换可见性与在需要时使用 javascript 动态创建 - 最佳实践
- anaconda - 如何将 environment.yaml 准确安装到基础环境(anaconda)
- css - 谷歌文档中css样式的文档正文文本类?
- mysql - MySQL 字符集 CLI 和 Workbench 显示不同的结果
- java - 在与 Swing 集成的 Spring Boot 中运行测试类时出错
- google-sheets - 谷歌表格:“动态取数”?
- reactjs - 用玩笑编写单元测试时如何模拟formik useFormikContext钩子
- javascript - 字符编码与