首页 > 解决方案 > 如何在python pandas中用0填充空单元格

问题描述

我的数据集中有一列具有以下值(单身,已婚),有些单元格是空的,我想将单身转换为 0 并结婚为 1 并将其从字符串转换为整数

df.X4[df.X4 == 'single'] = 1
df.X4[df.X4 == 'married'] = 2
df['X4'] = df['X4'].astype(str).astype(int)

没有价值的单元格给出了这个错误

ValueError: invalid literal for int() with base 10: 'nan'

我试过这样填充:df.X4.fillna(0)

但仍然给出同样的错误

标签: pythonpandasdataframe

解决方案


让我们试试

df.X4[df.X4 == 'single'] = 1
df.X4[df.X4 == 'married'] = 2
df['X4'] = pd.to_numeric(df['X4'], errors='coerce').fillna(0).astype(int)

推荐阅读