Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算组合的出现次数_Python_Python 3.x - Fatal编程技术网

Python 计算组合的出现次数

Python 计算组合的出现次数,python,python-3.x,Python,Python 3.x,我试图为两列的每一个组合创建一个计数表。这是我能想到的最好的了,但我不知道如何把它做成正确的形式。有没有一种方法或什么东西可以让这更容易 from itertools import product d = {'ballot1': ['a','b','a','a','b','a','a','b'], 'ballot1_x':['c','c','d','d','a','a','a','a']} df1=pd.DataFrame(d) for i in product(set(df1['ba

我试图为两列的每一个组合创建一个计数表。这是我能想到的最好的了,但我不知道如何把它做成正确的形式。有没有一种方法或什么东西可以让这更容易

from itertools import product
d = {'ballot1': ['a','b','a','a','b','a','a','b'],
     'ballot1_x':['c','c','d','d','a','a','a','a']}
df1=pd.DataFrame(d)
for i in product(set(df1['ballot1']), set(df1['ballot1_x'])):
    print(str(i[0])+str(i[1]))
目标(作为数据帧):


您可以尝试使用pandas()中的
交叉表

结果:

     ballot1    a  b
ballot1_x      
a               2  2
c               1  1
d               2  0
from pandas import crosstab
d = {'ballot1': ['a','b','a','a','b','a','a','b'],
     'ballot1_x':['c','c','d','d','a','a','a','a']}
df1=pd.DataFrame(d)

result_df = crosstab(df1['ballot1_x'], df1['ballot1'])
print(result_df)
     ballot1    a  b
ballot1_x      
a               2  2
c               1  1
d               2  0