简体   繁体   中英

Pandas max value index

I have a Pandas DataFrame with a mix of screen names, tweets, fav's etc. I want find the max value of 'favcount' (which i have already done) and also return the screen name of that 'tweet'

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


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

I cant seem to find anything on this, can anyone help guide me in the right direction?

Use argmax() idxmax() to get the index of the max value. Then you can use loc

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

Edit: argmax() is now deprecated, switching for idxmax()

I think you need idxmax - get index of max value of favcount and then select value in column sn by 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

By using same df as above,

# python code

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

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

## You can use max() print(df[df.favcount.max() == df['favcount']])

favcount sn 2 3 c

## If you need specific column you can select it print(df[df.favcount.max() == df['favcount']].sn)

2 c

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM