Python数据框:将条件添加到多个单元格中

时间:2018-10-13 10:50:24

标签: python string pandas dataframe series

您好,我有一个数据框,我想有条件地向选定的单元格添加文本。条件是单元格不是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

什么是最好的方法。非常感谢你。

2 个答案:

答案 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.locpd.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