熊猫根据另一列中的值推导出列中的缺失值

时间:2021-03-25 10:50:02

标签: python pandas

box type len
abc 20HE nan
def 20GE 20
ghi 40HC 40
jkl 20HE 20
mno 40HC nan
pqr 40GE nan
stu 20GC 20

'len' 中的缺失值可以替换为字符串列 'type',方法是将 'type' 中值的前两个字符取为 int 值 20 或 40。

期望输出:

box type len
abc 20HE 20
def 20GE 20
ghi 40HC 40
jkl 20HE 20
mno 40HC 40
pqr 40GE 40
stu 20GC 20

1 个答案:

答案 0 :(得分:5)

您可以在这里使用 numpy 的 np.where 函数,请尝试以下操作。其中 df 是您的数据框。

df['len'] = np.where(df['len'].isnull(),df['type'].str[:2],df['len'])
df


第二种解决方案:使用 .where 函数。

df['len'] = df['len'].where(df['len'].notnull(),df['type'].str[:2])
df