python - 如何在带有条件的 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 行。实际上它有一千行,所以我不能手动添加一个简单的列。
解决方案
您可以使用.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
推荐阅读
- javascript - 如何在页面加载时请求,反应钩子
- javascript - 如何将变量添加到 xhr.open outta Chrome 扩展?
- powerquery - 在 PowerQuery 中将列强制转换为其他类型
- python - 如何在一个目录中为一个项目创建多个 docker 镜像?
- node.js - 无法从端点下载 GraphQL 架构
- javascript - 那么 Javascript 库已经带有 GUI 了吗?
- php - 登录用户帐户时出现 bcrpyt 哈希问题
- python - 将所有相同的值索引放入一行
- java - 为什么在字段初始化之前执行主构造函数体?
- javascript - 如何将字符串格式从 00/00/0000 更改为 00.00.0000