访问大熊猫系列的索引

时间:2015-11-05 09:49:08

标签: python dictionary pandas series

我正在尝试确定哪个词在熊猫数据帧中计数最多(我的代码中为df_temp)。我也有这个:

 l = df_temp['word'].count_values()

然后显然是一个大熊猫系列,其中第一行指向df_temp ['word']中计数最多的索引(在我的例子中是计数最多的单词)。虽然我可以在我的控制台中看到这个词,但我无法正确使用它。我到目前为止找到的唯一方法是将其转换为字典,所以我有:

dl = dict(l)

然后我可以在排序字典后轻松检索我的索引。显然这可以完成这项工作,但我很确定你有一个更聪明的解决方案,因为这个非常肮脏和不优雅。

提前致谢

2 个答案:

答案 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()