我正在尝试确定哪个词在熊猫数据帧中计数最多(我的代码中为df_temp)。我也有这个:
l = df_temp['word'].count_values()
然后显然是一个大熊猫系列,其中第一行指向df_temp ['word']中计数最多的索引(在我的例子中是计数最多的单词)。虽然我可以在我的控制台中看到这个词,但我无法正确使用它。我到目前为止找到的唯一方法是将其转换为字典,所以我有:
dl = dict(l)
然后我可以在排序字典后轻松检索我的索引。显然这可以完成这项工作,但我很确定你有一个更聪明的解决方案,因为这个非常肮脏和不优雅。
提前致谢
答案 0 :(得分:2)
index
结果的value_counts()
是您的值:
l.index
会为您提供已计算的值
示例:
In [163]:
df = pd.DataFrame({'a':['hello','world','python','hello','python','python']})
df
Out[163]:
a
0 hello
1 world
2 python
3 hello
4 python
5 python
In [165]:
df['a'].value_counts()
Out[165]:
python 3
hello 2
world 1
Name: a, dtype: int64
In [164]:
df['a'].value_counts().index
Out[164]:
Index(['python', 'hello', 'world'], dtype='object')
所以基本上你可以通过索引系列来获得特定的字数:
In [167]:
l = df['a'].value_counts()
l['hello']
Out[167]:
2
答案 1 :(得分:2)
使用Pandas,您可以在word
列中找到最常用的值:
df['word'].value_counts().idxmax()
以下代码将为您提供该值的计数,即该列中的最大计数:
df['word'].value_counts().max()