iPython:用Pandas统计单词,出现次数最少的怎么统计?

iPython: Using Pandas to count words, how do I count the least occuring?

使用iPython3。我能够弄清楚如何计算列中出现次数最多的单词

import pandas as pd
dft = pd.read_csv('NYC.txt')
dft_counts = complaints['Provider'].value_counts()
dft_counts[:10]

我如何编写代码来计算出现次数最少的单词?

我认为你可以使用 iat with -1 what return last value, because last value is smallest - value_counts 排序 Serie:

dft_counts.iat[-1]

如果需要所有最小值使用boolean indexing:

dft_counts = (s.value_counts())
print (dft_counts)
6       3
5       3
null    2
18      1
3       1
22      1
0       1
dtype: int64

print (dft_counts.iat[-1])
1

print (dft_counts[dft_counts == dft_counts.iat[-1]])
18    1
3     1
22    1
0     1
dtype: int64

或者在 value_counts 中使用参数 ascending=True:

dft_counts = (s.value_counts(ascending=True))
print (dft_counts)
0       1
22      1
3       1
18      1
null    2
5       3
6       3
dtype: int64

print (dft_counts[:3])
0     1
22    1
3     1
dtype: int64

更新:

counts = complaints['Provider'].value_counts()
counts[counts == 1]

显示 "counts" 小于或等于 3:

counts[counts <= 3]

旧答案:

你可以这样做:

complaints['Provider'].value_counts().nsmallest(1)

或者您可以使用 iloc 定位器,这可能会更快一些:

complaints['Provider'].value_counts().iloc[-1]

只需对系列进行排序:

dft_counts = complaints['Provider'].value_counts()
dft_counts.sort_values(["Provider"], ascending=[True])