numpy 当我使用frame['Colum'].map(dict)时如何避免NaN值

of1yzvn4  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(56)

我有以下数据集frame 1
| 项目名称| Item |
| --| ------------ |
| 衬衫| Shirt |
| 鞋子| Shoes |
| 衬衫| Shirt |
| 鞋子| Shoes |
我想设置所有的鞋项目的颜色为“蓝色”,我用Map

x = {"Shoes": "Blue"}
fr1["Color"] = fr1["Item"].map(x)

字符串
我期望得到以下结果
| 项目名称| Item |
| --| ------------ |
| 衬衫| Shirt |
| 鞋子| Shoes |
| 衬衫| Shirt |
| 鞋子| Shoes |
但我得到了这个
| 项目名称| Item |
| --| ------------ |
| 衬衫| Shirt |
| 鞋子| Shoes |
| 衬衫| Shirt |
| 鞋子| Shoes |

icomxhvb

icomxhvb1#

或者只使用具有布尔索引的有效键的行:

x = {"Shoes": "Blue"}
m = fr1["Item"].isin(list(x))
fr1.loc[m, "Color"] = fr1.loc[m, "Item"].map(x)

字符串
fillna

fr1["Color"] = fr1["Item"].map(x).fillna(fr1["Color"])

相关问题