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