【发布时间】:2018-04-03 16:06:55
【问题描述】:
我尝试获取 pandas 数据框中给定数据的可能组合的总和。为此,我使用 itertools 组合来获取所有可能的组合,然后通过使用循环,对每个组合进行求和。
有什么方法可以在不使用循环的情况下做到这一点?
请检查我创建的以下脚本以显示我想要的内容。
import pandas as pd
import itertools as it
A = pd.Series([50, 20, 75], index = list(range(1, 4)))
df = pd.DataFrame({'A': A})
listNew = []
for i in range(1, len(df.A)+1):
Temp=it.combinations(df.index.values, i)
for data in Temp:
listNew.append(data)
print(listNew)
for data in listNew:
print(df.A[list(data)].sum())
这些脚本的输出是:
[(1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)]
50
20
75
70
125
95
145
提前谢谢你。
【问题讨论】:
标签: pandas dataframe sum combinations itertools