函数删除数据框中的无效值,但返回具有无效值的原始数据框



我创建了这个简单的函数:

def cleanup_data(*argv):
for df in argv:
df = df.dropna()
return argv

但是,如果我调用cleanup_data(df1, df2),然后我这样做:

df1.isnull().values.any()

df2.isnull().values.any()

I get True.

我的代码有什么问题?

您返回的不是更新后的数据帧,而是未更改的argv。下面是如何使用列表推导式返回更新后的数据帧列表:

def cleanup_data(*argv):
return [df.dropna() for df in argv]

或者您可以让df.dropna在数据框架上就地操作:

def cleanup_data(*argv):
for df in argv:
df.dropna(inplace=True)

相关内容

  • 没有找到相关文章

最新更新