我有一个看起来像这样的df:
| id | qty | item |
+-----+------+------+
| 001 | 700 | CB04 |
| 002 | 500 | |
| 003 | 1500 | AB01 |
我想将文本框附加到df [‘item’],其中items不为null,因此New df将如下所示:
| id | qty | item |
+-----+------+----------+
| 001 | 700 | CB04 box |
| 002 | 500 | |
| 003 | 1500 | AB01 box |
最佳答案 对我来说工作解决方案没有检查NaNs:
df['item'] += ' box'
print (df)
id qty item
0 1 700 CB04 box
1 2 500 NaN
2 3 1500 AB01 box
检查NaNs的解决方案:
使用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'])