我认为是Python查询

时间:2016-03-14 15:14:28

标签: python

老兄,我怎么能达到那么多人物数量呢?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

keys = sorted(data.keys())
print '{0:<10}'.format(''),
for k in keys:
    print '{0:<10}'.format(k),
print
for k in keys:
    print '{0:<10}'.format(k),
    for l in keys:
        print '{0:<10}'.format(data[k].count(l)), 
    print

#            Apple      Banana     Pear      
# Apple      2          4          4         
# Banana     2          5          3         
# Pear       3          2          5

我使用列表的count方法获取计数。

答案 1 :(得分:0)

您有列表字典。迭代字典,然后遍历列表并收集pandas DataFrame并应用交叉表。

import pandas as pd

df = pandas.DataFrame([
    [col1,col2] for col1, value1 in data.items() for col2 in value1
])

pd.crosstab(df.ix[:,0],df.ix[:,1])