Python 数据帧上的组合
我有一个包含点的熊猫数据框,我想找到这些点之间的所有可选线。 数据样本:Python 数据帧上的组合,python,pandas,Python,Pandas,我有一个包含点的熊猫数据框,我想找到这些点之间的所有可选线。 数据样本: x_val y_val 114 1.28 1.72 90 3.47 3.71 37 0.13 1.86 我尝试了以下方法: H = x_s.apply(lambda x: list(combinations(x.values, 2))) 但结果与预期不符,x/y值参差不齐: 114(1.28,3.47)(1.72,3.71) 90(1.28,0.13)(1.72,1
x_val y_val
114 1.28 1.72
90 3.47 3.71
37 0.13 1.86
我尝试了以下方法:
H = x_s.apply(lambda x: list(combinations(x.values, 2)))
但结果与预期不符,x/y值参差不齐:
114(1.28,3.47)(1.72,3.71)
90(1.28,0.13)(1.72,1.86)
37(3.47,0.13)(3.71,1.86)
所以第一个元组是X的混合,第二个是Y的混合,我在寻找由两个原始点构成的线。
我现在知道如何重新排序,但是否有任何选项可以首先获得这些结果并保存不必要的重新排序?您可以浏览索引:
b = {'{}_{}'.format(idx1, idx2): (df.loc[idx1].values, df.loc[idx2].values) for idx1, idx2 in combinations(df.index, 2)}
pd.DataFrame(b).transpose()
这将为您提供:
0 1
114_90 [1.28, 1.72] [3.47, 3.71]
114_37 [1.28, 1.72] [0.13, 1.86]
90_37 [3.47, 3.71] [0.13, 1.86]
您可以浏览索引:
b = {'{}_{}'.format(idx1, idx2): (df.loc[idx1].values, df.loc[idx2].values) for idx1, idx2 in combinations(df.index, 2)}
pd.DataFrame(b).transpose()
这将为您提供:
0 1
114_90 [1.28, 1.72] [3.47, 3.71]
114_37 [1.28, 1.72] [0.13, 1.86]
90_37 [3.47, 3.71] [0.13, 1.86]
是否可以粘贴此的预期输出?是否可以粘贴此的预期输出?