gpt4 book ai didi

python - 在 Pandas 中展开矩阵

转载 作者:太空宇宙 更新时间:2023-11-04 08:34:42 27 4
gpt4 key购买 nike

我有一个这样的矩阵:

df = pd.DataFrame({'a':[7, 0, 3], 'b':[0, 4, 2], 'c':[3, 2, 9]})
df.index = list(df)
df

a b c
a 7 0 3
b 0 4 2
c 3 2 9

我想得到这样的东西:

C1  C2  V
0 a a 7
1 a b 0
2 a c 3
3 b a 0
4 b b 4
5 b c 2
6 c a 3
7 c b 2
8 c c 9

为此我编写了以下代码:

vv = pd.DataFrame(columns=['C1', 'C2', 'V'])
i = 0
for cat1 in df.index:
for cat2 in df.index:
vv.loc[i] = [cat1, cat2, d[cat1][cat2]]
i += 1
vv['V'] = vv['V'].astype(int)

是否有更好/更快/更优雅的方式来做到这一点?

最佳答案

In [90]: df = df.stack().reset_index()

In [91]: df.columns = ['C1', 'C2', 'v']

In [92]: df
Out[92]:
C1 C2 v
0 a a 7
1 a b 0
2 a c 3
3 b a 0
4 b b 4
5 b c 2
6 c a 3
7 c b 2
8 c c 9

关于python - 在 Pandas 中展开矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50152170/

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