首页 > 解决方案 > 如何在带有条件的 Pandas 中添加列

问题描述

这是一个简单的熊猫数据框:

data={'Name': ['John', 'Dav', 'Ann', 'Mike', 'Dany'],
     'Number': ['2', '3', '2', '4', '2']}

df = pd.DataFrame(data, columns=['Name', 'Number'])
df

我想添加名为“color”的第三列,如果 Number = 2,则值为“red”,如果 Number = 3,则值为“Blue”

这个数据框只有 5 行。实际上它有一千行,所以我不能手动添加一个简单的列。

标签: pythonpython-3.xpandasdataframe

解决方案


您可以使用.map

dct = {2: "Red", 3: "Blue"}

df["color"] = df["Number"].astype(int).map(dct)  # remove .astype(int) if the values are already integer
print(df)

印刷:

   Name Number color
0  John      2   Red
1   Dav      3  Blue
2   Ann      2   Red
3  Mike      4   NaN
4  Dany      2   Red

推荐阅读