python - 如何根据条件添加熊猫列?
问题描述
我有这个熊猫df
Area Element Code Element Code Item YCode Year Value Type
39 India 5312 Area harvested 125 Cassava 2000 2000 27179.0 food
40 India 5312 Area harvested 125 Cassava 2001 2001 27794.0 food
41 India 5312 Area harvested 125 Cassava 2002 2002 21408.0 food
42 India 5312 Area harvested 125 Cassava 2003 2003 36061.0 food
43 India 5312 Area harvested 125 Cassava 2004 2004 59585.0 food
... ... ... ... ... ... ... ... ... ...
1071 India 5510 Production 567 Watermelons 2014 2014 229267.0 food
1072 India 5510 Production 567 Watermelons 2015 2015 270686.0 food
1073 India 5510 Production 567 Watermelons 2016 2016 258691.0 food
1074 India 5510 Production 567 Watermelons 2017 2017 243203.0 food
1075 India 5510 Production 567 Watermelons 2018 2018 239896.0 food
我想获得一个新列,其中包含相应年份的每个项目的总和,即木薯、西瓜。即,如果年份是 2001 年,则每种作物的价值总和,然后是明年。
如果有人提出想法,我将不胜感激
解决方案
你可以简单地做:
df['new_col'] = df.groupby('year')['item'].transform('sum')
应该得到你所需要的。
推荐阅读
- python-3.x - Pyinstaller modulenotfound 错误:没有模块名称'mysql'
- ios - 当我为 iOS 编译某些东西时,使用了哪些架构?
- javascript - 将嵌套对象更改为相同的对象,其值为对象的对象是以父对象为原型的对象
- java - Mapstruct:使用合格的 IterableMapping 映射列表属性
- python - 如何使用 matplotlib 剪辑形状文件内的轮廓?
- html - 搜索按钮在我的代码中不起作用
- php - Wordpress - Jetpack 服务器无法与您站点的 XML-RPC URL 通信
- javascript - 避免重复的 Webpack 块
- amazon-web-services - 无法在 aws-lambda 中从 aws s3 执行 getobject
- android - Android AVD 在启动时崩溃