我创建了这个简单的函数:
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)