将大熊猫数据帧的每一列与同一数据帧的其他每一列相乘的最有效方法

问题描述 投票:2回答:2

假设我有一个看起来像这样的数据集:

INDEX   A   B   C
    1   1   1   0.75
    2   1   1   1
    3   1   0   0.35
    4   0   0   1
    5   1   1   0

我想获得一个如下所示的数据框,其中包含原始列,以及列之间的所有可能的交互:

INDEX   A   B   C       A_B     A_C     B_C
    1   1   1   0.75    1       0.75    0.75
    2   1   1   1       1       1       1
    3   1   0   0.35    0       0.35    0
    4   0   0   1       0       0       0
    5   1   1   0       1       0       0

我的实际数据集非常大(〜100列)。什么是最快的方法?

当然,我可以做一个嵌套循环或类似的循环来实现这一目标,但我希望有一种更有效的方法。

python pandas dataframe bigdata
2个回答
3
投票

您可以为此使用itertools.combinations


2
投票

我不知道可以使用本机的pandas函数来解决此问题,但是itertools.combinations是对嵌套循环的改进。

© www.soinside.com 2019 - 2024. All rights reserved.