我有一个Pandas DataFrame,其中混合了屏幕名称,推文,收藏夹等。我想找到'favcount'的最大值(我已经做过)并且还返回'tweet'的屏幕名称
df = pd.DataFrame()
df['timestamp'] = timestamp
df['sn'] = sn
df['text'] = text
df['favcount'] = fav_count
print df
print '------'
print df['favcount'].max()
我似乎无法找到任何相关内容,任何人都可以帮助指导我朝正确的方向发展吗?
答案 0 :(得分:23)
使用 argmax()
idxmax()
获取最大值的索引。然后,您可以使用loc
df.loc[df['favcount'].idxmax(), 'sn']
修改: argmax()
现已弃用,正在切换 idxmax()
答案 1 :(得分:6)
我认为您需要idxmax
- 获取favcount
的最大值索引,然后按ix
选择sn
列中的值:
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.ix[df.favcount.idxmax()])
favcount 3
sn c
Name: 2, dtype: object
print (df.ix[df.favcount.idxmax(), 'sn'])
c
答案 2 :(得分:0)
通过使用与上述相同的df,
# python codedf = 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