Индекс максимального значения Pandas

У меня есть Pandas DataFrame с сочетанием имен экранов, твитов, fav и т.д. Я хочу найти максимальное значение "favcount" (которое я уже сделал), а также вернуть имя экрана этого "твита",

df = pd.DataFrame()
df['timestamp'] = timestamp
df['sn'] = sn
df['text'] = text
df['favcount'] = fav_count


print df
print '------'
print df['favcount'].max()

Кажется, я не могу найти что-либо в этом вопросе, может ли кто-нибудь помочь мне в правильном направлении?

Ответы

Ответ 1

Используйте argmax() idxmax() чтобы получить индекс максимального значения. Тогда вы можете использовать loc

df.loc[df['favcount'].idxmax(), 'sn']

Редактировать: argmax() теперь устарела, переключаясь на idxmax()

Ответ 2

Я думаю, что вам нужно idxmax - получить индекс максимального значения favcount а затем выбрать значение в столбце sn по loc:

df = pd.DataFrame({'favcount':[1,2,3], 'sn':['a','b','c']})

print (df)
   favcount sn
0         1  a
1         2  b
2         3  c

print (df.favcount.idxmax())
2

print (df.loc[df.favcount.idxmax()])
favcount    3
sn          c
Name: 2, dtype: object

print (df.loc[df.favcount.idxmax(), 'sn'])
c