我在一列中有几个空值:
print(df['col'].isnull().sum(axis = 0))我尝试这样替换它们:
df['col'].fillna(value='no_val')
#df['col'].value_counts()
print(df['col'].isnull().sum(axis = 0))但是它不工作,并且在使用.fillna之后仍然显示相同数量的空值。如果我像这样改变它:
df = df['col'].fillna(value='no_val')它将开始在下一行给我一个键错误'col‘。我做错了什么?
发布于 2021-05-02 20:47:22
您可以在fillna方法中使用inplace=True来反映输出
df['col'].fillna(value='no_val',inplace=True)或者你也可以重新整理专栏
df['col']= df['col'].fillna(value='no_val')发布于 2021-05-02 20:46:42
这里:
df['col'].fillna(value='no_val')你不需要用空值填充的df‘’col‘来替换,你只需要填充空值并丢弃结果即可。
这里:
df = df['col'].fillna(value='no_val')您将单个列(pd.Series对象)重新分配给变量df,这意味着它不再有列。
您应该做的是将返回的空值填充的列(pd.Series)分配给相应的列(pd.Series),如下所示:
df['col'] = df['col'].fillna(value='no_val')https://stackoverflow.com/questions/67356533
复制相似问题