熊猫系列中的唯一价值计数

时间:2018-06-28 07:56:14

标签: python pandas series

我有一系列长串的熊猫。

我想获取整个系列中单词的值计数。我尝试过

-std=c++11

但是它给出的是字符串级别计数而不是单词级别计数。

如何有效地做到这一点?

我的系列如下所示

  

打印df.head(3)

     

0 4632 N. Rockwell Street,芝加哥Rockwell Neighborhood 773 60625 4748 N Kedzie

     

1,4632 N.Rockwell Street,芝加哥Rockwell'Bdoy 773 60625 4632 N   岩石

     

2 4632 N.Rockwell Street,LA敞篷烧烤炉773 60625 3658 W   劳伦

我想按如下方式生成字典

df.value_counts().to_dict()

以此类推

1 个答案:

答案 0 :(得分:2)

我认为这是更好的纯python解决方案,其中Counter使用split将所有值连接到长字符串:

from collections import Counter

d = Counter(' '.join(df).split())
#if necessary convert to dict
#d = dict(Counter(' '.join(df).split()))

或先将splitstack一起使用:

d = df.str.split(expand=True).stack().value_counts().to_dict()
print (d)
{'Rockwell': 4, '4632': 4, 'Street,': 3, '773': 3, '60625': 3, 'N.': 3, 'N': 2, 'Rock': 2, 'Chicago': 2, 'Kedzie': 1, 'Grill': 1, 'Neighborhood': 1, '3658': 1, 'Lawren': 1, 'W': 1, '4748': 1, 'LA': 1, 'hood': 1, "Rockwell'": 1, 'Bdoy': 1}