pandas - 当我使用 dropna 函数时,我的数据框变成了“NoneType”对象。为什么会发生这种情况,我该如何解决这个问题
问题描述
我正在清理一些数据(已经有一段时间了),当我删除在两个特定列中的任何一个中具有 nan 的行时,我留下了一个“noneType”对象,我无法在该对象上运行任何进一步的函数。为什么会发生这种情况,我该如何解决。
我希望这会删除那些列中包含 nans 的行,但没想到它会更改为“noneType”
df = df.dropna(subset=['Step Age', 'Process Age'], inplace = True)
解决方案
数据框不能成为 NoneType 对象。相反,各种操作可能会清空数据框。在问题中,数据帧已被释放。
import pandas as pd
import csv
from pandas.compat import StringIO
print(pd.__version__)
csvdata = StringIO("""Step Age,Process Age,Extra Col
,1,
1,,
,,""")
df = pd.read_csv(csvdata, sep=",")
df.dropna(subset=['Step Age', 'Process Age'], inplace = True)
print(df)
print(df.empty)
生产
0.24.2
Empty DataFrame
Columns: [Step Age, Process Age, Extra Col]
Index: []
True
推荐阅读
- html - 如何使背景图像成为我的链接的选择/悬停/触发区域
- jquery - 如何更有效地循环 jquery 调用而不是循环多次
- vim - 在 Vim 中将默认寄存器与“r”寄存器同步
- python - 是否可以将 Python 代码与从 Node JS 启动的 Pytorch 一起使用?
- visual-studio-2017 - 录制的视频所在的单元测试
- c++ - Linux 内存映射文件消耗的磁盘比预期的要多
- python - 我们可以在“set”,“list”和“tuple”上使用python中的特殊方法吗?
- android - 将 admob 原生广告添加到回收站视图后,Android 获得正确的项目位置
- python - 如何使用 Python Cryptography 在没有后端(或使用什么后端)的情况下加载 der 证书
- java - Java SSHJ 库和启用日志记录