2015-11-05 3 views
0

Я пытаюсь определить, какое слово наиболее учитывается в кадре данных pandas (df_temp в моем коде). Также у меня есть это:Доступ к индексу серии pandas

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

л, то, очевидно, ряд панды, где первые очки ряда в сторону наиболее подсчитывались индекса (в моем случае наиболее подсчитывали слово) в df_temp [ «слово»]. Хотя я могу видеть это слово в моей консоли, я не могу получить его правильно. Единственный способ, которым я нашел до сих пор, чтобы превратить его в dictionnary поэтому у меня есть:

dl = dict(l) 

и тогда я могу легко получить мой индекс ... после сортировки dictionnary. Очевидно, что это делает работу, но я уверен, что у вас есть более разумное решение, так как эта очень грязная и неэлегантная.

Заранее спасибо

ответ

1

Использование панды вы можете найти наиболее часто встречающееся значение в word колонке:

df['word'].value_counts().idxmax() 

и это ниже код даст вам количество для этого значения, которое максимальное количество в этой колонке:

df['word'].value_counts().max() 
+0

Мне нравится этот. Приветствия. –

2

The 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 
+0

Если вы хотите найти отрицательный индексный поиск, как в «значениях со всеми словами, которые НЕ являются питонами». Это 'l [- ['python']]' или 'l [l! = ['Python']]'? –

+0

@PierreLafortune вам придется делать 'df [~ df ['a']. Str.contains ('python')]' – EdChum

+0

Но это не дает значения. Вы расширили бы это до 'df [~ df ['a']. Str.contains ('python')] ['a']. Value_counts()'? –

Смежные вопросы