例如,我有一个下面描述的数据框,我将创建一个新的数据框,该数据框的列将减去以前的列。
给出的数据框:(可以有任意数量的列)
A B C
0 10 100 200
1 15 115 215
2 20 120 220
3 25 125 225
4 30 130 230
Dataframe required
A-B A-C B-A B-C C-A C-B
0 ..
1 ..
2 ..
3 ..
4
谢谢。
答案 0 :(得分:2)
编辑:使用itertools.permutations而不是Austin Wagner的注释所指出的itertools.combinations来确定一个命令中的所有可能组合。
您需要确定所有可能的组合,并计算每个组合的减法结果。
df = pd.DataFrame({
'A': [10, 15, 20, 25, 30],
'B': [100, 115, 120, 125, 130],
'C': [200, 215, 220, 225, 230]
})
def subtractions_of_combinations(df):
# Extract all the combinations
combinations = list(itertools.permutations(df.columns, 2))
# Calculate the two possible subtractions for each combination
new_df = pd.DataFrame()
for a, b in combinations:
new_df[f'{a}-{b}'] = df[a] - df[b]
return new_df