gpt4 book ai didi

pandas - Pandas 数据框行上的克罗内克积

转载 作者:行者123 更新时间:2023-12-05 04:30:45 27 4
gpt4 key购买 nike

所以我有这两个数据框,我想得到一个新的数据框,它由两个数据框的行的克罗内克积组成。正确的做法是什么?

举个例子:数据框1

   c1   c2
0 10 100
1 11 110
2 12 120

和数据框2

   a1   a2
0 5 7
1 1 10
2 2 4

那么我想要下面的矩阵:

   c1a1   c1a2   c2a1   c2a2
0 50 70 500 700
1 11 110 110 1100
2 24 48 240 480

我希望我的问题很清楚。

附言。我看到这里发布了这个问题 kronecker product pandas dataframes .但是,给出的答案不是正确的答案(我相信我的和原来的问题,但绝对不是我的)。那里的答案给出了两个数据框的 Kronecker 产品,但我只想要它在行上。

最佳答案

通过 MultiIndex.from_product 创建 MultiIndex , 通过 DataFrame.reindex 将两列转换为 MultiIndex和多个 Dataframe,最后展平 MultiIndex:

c = pd.MultiIndex.from_product([df1, df2])
df = df1.reindex(c, axis=1, level=0).mul(df2.reindex(c, axis=1, level=1))
df.columns = df.columns.map(lambda x: f'{x[0]}{x[1]}')
print (df)
c1a1 c1a2 c2a1 c2a2
0 50 70 500 700
1 11 110 110 1100
2 24 48 240 480

关于pandas - Pandas 数据框行上的克罗内克积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71968541/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com