首页 > 解决方案 > 当我使用 dropna 函数时,我的数据框变成了“NoneType”对象。为什么会发生这种情况,我该如何解决这个问题

问题描述

我正在清理一些数据(已经有一段时间了),当我删除在两个特定列中的任何一个中具有 nan 的行时,我留下了一个“noneType”对象,我无法在该对象上运行任何进一步的函数。为什么会发生这种情况,我该如何解决。

我希望这会删除那些列中包含 nans 的行,但没想到它会更改为“noneType”

df = df.dropna(subset=['Step Age', 'Process Age'], inplace = True)

标签: pandassortingdataframenonetype

解决方案


数据框不能成为 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


推荐阅读