python - Pandas .fillna() 不能与 .sample() 一起使用
问题描述
我有一个数据集,其中有一列state
的唯一值由['released', 'isolated', 'deceased', nan]
. 我尝试使用随机抽样来估算丢失的数据,如下所示:
for column in ['sex','state','city']:
df[column].fillna(df[column].sample(), inplace=True)
该sex
列似乎已正确估算;没有更多的缺失sex
数据。但是,该state
列似乎没有估算。当我检查该列时,我收到以下信息:
In [1]: df['state'].sample()
Out[1]: 1391 released
Name: state, dtype: object
因此,该列在上面的插补循环中被适当命名。当我在原始数据帧上尝试相同的操作时,我会收到一系列类似的NaN
s:
In [2]: new=pd.DataFrame({'blank':[np.nan for i in range(0,100)]})
In [3]: new['blank'].fillna(df['state'].sample())
Out[3]:
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
..
95 NaN
96 NaN
97 NaN
98 NaN
99 NaN
Name: blank, Length: 100, dtype: float64
为什么state
色谱柱不能正确取样fillna()
?
解决方案
你不能fillna
用,Series
因为它会匹配index
new=pd.DataFrame({'blank':[np.nan for i in range(0,100)]})
new['blank'].fillna(df['state'].sample().iloc[0])
推荐阅读
- angular - 使用 Angular 9 在浏览器中显示 pdf(或其他文件类型)
- sql - Oracle SQL Group BY 通过列 substr
- java - 为什么不能使用 JPA 将列设置为空?
- reactjs - 如何在 react-admin ShowView 中隐藏多个字段?
- flutter - 如何在 Flutter 中沿着圆圈绘制路径?
- typescript - 如果文本为空,如何在列表视图中隐藏标签
- javascript - ReferenceError:找不到变量:导航 [React Native]
- button - Markdown 未在 Slack 消息块按钮确认文本中解释
- python-3.x - 与 ValueError 相关的搜索:检查输入时出错:预期 conv2d_1_input 具有形状 (224, 224, 3) 但得到的数组具有形状 (103408, 1, 1)
- amazon-web-services - 在 docker 容器中运行 CDK 时无法解析要使用的 AWS 账户