我正在尝试采用一个数据框并创建另一个数据框,并使用列的所有可能组合以及相应值之间的差,即11-apr列AB应为(B-A)= 0等。
例如,从
Dt A B C D
11-apr 1 1 1 1
10-apr 2 3 1 2
我如何获得一个新的框架,如下所示:
我遇到了以下帖子,但无法将其转置为专栏文章。
Aggregate all dataframe row pair combinations using pandas
最佳答案
您可以使用:
from itertools import combinations
df = df.set_index('Dt')
cc = list(combinations(df.columns,2))
df = pd.concat([df[c[1]].sub(df[c[0]]) for c in cc], axis=1, keys=cc)
df.columns = df.columns.map(''.join)
print (df)
AB AC AD BC BD CD
Dt
11-apr 0 0 0 0 0 0
10-apr 1 -1 0 -2 -1 1
关于pandas - 数据框-pandas/python中列的所有可能组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43347939/