python - 如何根据数据框中的相同索引将同一列中的值相乘?
问题描述
我有多个列和多个不同的索引,所以我对逻辑流程感到困惑
list1 list2 list3
A 2 3 4
A 1 5 7
B 2 3 8
B 6 1 2
C 4 2 2
C 2 4 5
我想要的结果是:
list1 list2 list3
A 2.0 15.0 28.0
B 12.0 3.0 16.0
C 8.0 8.0 10.0
解决方案
DataFrame.prod
与 一起使用level=0
:
df1 = df.prod(level=0)
替代解决方案是GroupBy.prod
按索引使用:
df1 = df.groupby(level=0).prod()
#alternative
df1 = df.groupby(df.index).prod()
print (df1)
list1 list2 list3
A 2 15 28
B 12 3 16
C 8 8 10
推荐阅读
- java - Java:如何从抽象父类创建新的子类实例?
- javascript - 显示来自 instagram 的随机帖子的生成器
- javascript - 网页抓取时如何提高效率?
- java - JBehave BDD - 在步骤之间休眠
- python - 当我在 Keras 中运行 model.fit_generator 时,控制台中的这个输出是什么意思?
- css - 使用 CSS 将字体颜色更改为文章?
- docker - Traefik 在完成 tls-alpn-01 挑战后使用无链证书
- spring-boot - 连接到运行 openshift 的 Consul 服务器到在 localhost 上运行的 Consul 客户端
- azure - Azure 活动日志架构中有关 correlationId 的问题
- sql - 在 SQL 中基于层次结构合并重叠时间间隔