我开始使用 pandas,在更大的 DataFrame 中有一列数据,例如
0 one two
1 two seven six
2 three one five
3 seven five five eight
4 six four
5 three
dtype: object
我想做的是将单词序列拆分成它们的组成部分,然后得到一个唯一的集合或对单词进行计数。我可以很好地拆分
numbers.str.split(' ')
0 [one, two]
1 [two, seven, six]
2 [three, one, five]
3 [seven, five, five, eight]
4 [six, four]
5 [three]
dtype: object
但是,我不确定从这里到哪里去。同样,我想要输出如
['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight']
或在具有计数的字典中相同,或在这两者之一的 Series/DataFrame 中相同。
到目前为止,我能做的最好的事情是结合使用 apply() 和 Set 来获取唯一的单词。 pandas 是我迄今为止所见的一个非常优雅的包,对于比我更了解它的人来说,这似乎很容易获得。
提前致谢!
请您参考如下方法:
如果我对你的理解正确,我想你可以使用 pandas 按如下方式完成。在拆分字符串之前,我将从系列开始:
print s
0 one two
1 two seven six
2 three one five
3 seven five five eight
4 six four
5 three
stacked = pd.DataFrame(s.str.split().tolist()).stack()
print stacked
0 0 one
1 two
1 0 two
1 seven
2 six
2 0 three
1 one
2 five
3 0 seven
1 five
2 five
3 eight
4 0 six
1 four
5 0 three
现在只需计算系列的值计数:
print stacked.value_counts()
five 3
one 2
three 2
six 2
two 2
seven 2
eight 1
four 1
dtype: int64
