我有一个看起来像这样的df:
| id | qty | item |
+-----+------+------+
| 001 | 700 | CB04 |
| 002 | 500 | |
| 003 | 1500 | AB01 |
我想将文字box
附加到df['item']
,其中项目不为空,因此新的df将如下所示:
| id | qty | item |
+-----+------+----------+
| 001 | 700 | CB04 box |
| 002 | 500 | |
| 003 | 1500 | AB01 box |
答案 0 :(得分:7)
对于我没有检查NaN
的工作解决方案:
df['item'] += ' box'
print (df)
id qty item
0 1 700 CB04 box
1 2 500 NaN
2 3 1500 AB01 box
检查NaN
的解决方案:
将notna
与loc
df.loc[df['item'].notna(), 'item'] += ' box'
#for oldier pandas versions
#df.loc[df['item'].notnull(), 'item'] += ' box'
print (df)
id qty item
0 1 700 CB04 box
1 2 500 NaN
2 3 1500 AB01 box
df['item'] = np.where(df['item'].notna(), df['item'] + ' box', df['item'])
#df['item'] = np.where(df['item'].notnull(), df['item'] + ' box', df['item'])