gpt4 book ai didi

python - Pandas:列向量的成对连接

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

我正在使用像这样的框架

df = pd.DataFrame({
'G1':[1.00,0.69,0.23,0.22,0.62],
'G2':[0.03,0.41,0.74,0.35,0.62],
'G3':[0.05,0.40,0.15,0.32,0.19],
'G4':[0.30,0.20,0.51,0.70,0.67],
'G5':[0.40,0.36,0.88,0.10,0.19]
})

我想对其进行操作,以便列是当前列的成对排列,例如所有列现在都是 10 个元素长,例如列“G1:G2”会将列“G2”附加到列“G1”。我附上了一张模型图片。请注意,与上面的示例代码不同,图片已命名索引。我可以使用或不使用索引。

我该如何处理?我可以创建一个函数来作用于每一列,但我认为该函数必须返回一个通过与所有其他列连接而成的数据框。不确定那会是什么样子。

enter image description here

最佳答案

我会这样做

from itertools import permutations

l1, l2 = map(list, zip(*permutations(range(len(df.columns)), 2)))

v = df.values
pd.DataFrame(
np.vstack([v[:, l1], v[:, l2]]),
list(map('S{}'.format, range(1, len(df) + 1))) * 2,
df.columns.values[l1] + ':' + df.columns.values[l2]
)

enter image description here

关于python - Pandas:列向量的成对连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42639486/

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