panda根据另一列得到列值的排列

2024-09-30 10:30:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着计算ballot1和ballot2的所有可能的排列。在这种情况下,我可以手动编写一个解决方案,但是有没有更“python”的方法呢?在

import pandas as pd
from scipy import stats

d = {'vote': [1,2,3,55],
     'ballot1': [1,0,1,-1],
     'ballot2': [0,1,-1,-1]
    }
df1 = pd.DataFrame(data=d)

示例解决方案。顺序无关紧要,只要选票1和2的每个组合都检查了-1,0,1的所有值:

^{pr2}$

Tags: 方法fromimportpandasasstats情况scipy
1条回答
网友
1楼 · 发布于 2024-09-30 10:30:49

看起来你在寻找2个列表的笛卡尔积。这可以通过itertools.product实现:

from itertools import product

d = {'vote': [1,2,3,55],
     'ballot1': [1,0,1,-1],
     'ballot2': [0,1,-1,-1]
    }

for i in product(set(d['ballot1']), set(d['ballot2'])):
    print(i)

# (0, 0)
# (0, 1)
# (0, -1)
# (1, 0)
# (1, 1)
# (1, -1)
# (-1, 0)
# (-1, 1)
# (-1, -1)

相关问题 更多 >

    热门问题