创建一个自动填充空值的函数
Creating a function that fills null value automatically
我当前的项目中有大量包含空值的列。从技术上讲,我可以将它们一个接一个地填充或放下。但我想,也许我可以编写一个自动为我完成填充的函数。这是我到目前为止提出的,
def fill_null(df, column):
if np.dtype(df[column]) == 'O':
df[column].fillna('NA', inplace = True)
elif np.dtype(df[column]) != 'O':
df[column].fillna(0, inplace = True)
return
有效。但是有没有办法让它自动遍历整个数据框并自动填充它们?或者我要求太多了。我还是编程新手,迭代能力不是很好
谢谢!
使用 DataFrame.select_dtypes
for object columns and create dictionary for replace by DataFrame.fillna
,然后将所有其他列替换为 0
:
d = dict.fromkeys(df.select_dtypes(object).columns, 'NA')
df = df.fillna(d).fillna(0)
另一个解决方案:
df = df.apply(lambda x: x.fillna('NA') if x.dtype == 'O' else x.fillna(0))
我当前的项目中有大量包含空值的列。从技术上讲,我可以将它们一个接一个地填充或放下。但我想,也许我可以编写一个自动为我完成填充的函数。这是我到目前为止提出的,
def fill_null(df, column):
if np.dtype(df[column]) == 'O':
df[column].fillna('NA', inplace = True)
elif np.dtype(df[column]) != 'O':
df[column].fillna(0, inplace = True)
return
有效。但是有没有办法让它自动遍历整个数据框并自动填充它们?或者我要求太多了。我还是编程新手,迭代能力不是很好
谢谢!
使用 DataFrame.select_dtypes
for object columns and create dictionary for replace by DataFrame.fillna
,然后将所有其他列替换为 0
:
d = dict.fromkeys(df.select_dtypes(object).columns, 'NA')
df = df.fillna(d).fillna(0)
另一个解决方案:
df = df.apply(lambda x: x.fillna('NA') if x.dtype == 'O' else x.fillna(0))