您好,我有一个数据框,我想有条件地向选定的单元格添加文本。条件是单元格不是nan:
数据框:
index Column1
1 nan
2 name1
3 name2
4 name4
我只对2到3单元格感兴趣,请检查它们是否不是nan,我想添加一个字符串,例如“ str_2_add”
最终应如下所示:
index Column1
1 nan
2 name1 str_2_add
3 name2 str_2_add
4 name4
什么是最好的方法。非常感谢你。
答案 0 :(得分:0)
使用where方法。 (或遮罩)
#these are equivalent
df.where(df == "nan", df + "str_2_add")
df.mask(df != "nan", df + "str_2_add")
答案 1 :(得分:0)
使用pd.DataFrame.loc
和pd.Series.notnull
:
df.loc[df['Column1'].notnull() & df['index'].isin([2, 3]), 'Column1'] += ' str_2_add'
print(df)
index Column1
0 1 NaN
1 2 name1 str_2_add
2 3 name2 str_2_add
3 4 name4