Python 熊猫:在列中找到最大值并打印其行

Python 熊猫:在列中找到最大值并打印其行,python,pandas,max,dataframe,Python,Pandas,Max,Dataframe,我需要在列xrb中找到最大值并打印此行(datetime,xra,最大值(xrb) 这是我的df数据: datetime xra xrb 1020 2016-02-21 17:00:00 1.000000e-09 2.380000e-07 1020 2016-02-21 17:00:01 1.000000e-09 2.380000e-07 1020 2016-02-21 17:00:02 1.000000e-09

我需要在列
xrb
中找到最大值并打印此行(
datetime
xra
,最大值(
xrb

这是我的
df
数据:

                datetime           xra           xrb
1020 2016-02-21 17:00:00  1.000000e-09  2.380000e-07
1020 2016-02-21 17:00:01  1.000000e-09  2.380000e-07
1020 2016-02-21 17:00:02  1.000000e-09  2.380000e-07
1021 2016-02-21 17:01:00  1.080000e-09  2.370000e-07
1022 2016-02-21 17:02:00  1.000000e-09  2.350000e-07
1023 2016-02-21 17:03:00  1.000000e-09  2.340000e-07
1024 2016-02-21 17:04:00  1.000000e-09  2.330000e-07
1025 2016-02-21 17:05:00  1.000000e-09  2.330000e-07
我使用了以下代码:

print list(df.loc[df['xrb'].idxmax()])
但我只得到了列表
['datetime','xra','xrb']

有什么建议吗?

你可以通过
[::-1]
:

print df
                datetime           xra           xrb
1018 2016-02-21 17:00:00  1.000000e-09  2.380000e-07
1019 2016-02-21 17:00:01  1.000000e-09  2.380000e-07
1020 2016-02-21 17:00:02  1.000000e-09  2.380000e-07
1021 2016-02-21 17:01:00  1.080000e-09  2.370000e-07
1022 2016-02-21 17:02:00  1.000000e-09  2.350000e-07
1023 2016-02-21 17:03:00  1.000000e-09  2.340000e-07
1024 2016-02-21 17:04:00  1.000000e-09  2.330000e-07


print list(df.loc[df['xrb'][::-1].idxmax()])
[Timestamp('2016-02-21 17:00:02'), 1.0000000000000001e-09, 2.3800000000000001e-07]
编辑:

如果有重复索引,请尝试查找所有行:

print df
                datetime           xra           xrb
1020 2016-02-21 17:00:00  1.000000e-09  2.380000e-07
1020 2016-02-21 17:00:01  1.000000e-09  2.380000e-07
1020 2016-02-21 17:00:02  1.000000e-09  2.380000e-07
1021 2016-02-21 17:01:00  1.080000e-09  2.370000e-07
1022 2016-02-21 17:02:00  1.000000e-09  2.350000e-07
1023 2016-02-21 17:03:00  1.000000e-09  2.340000e-07
1024 2016-02-21 17:04:00  1.000000e-09  2.330000e-07

print df[df['xrb'] == df['xrb'].max()]
                datetime           xra           xrb
1020 2016-02-21 17:00:00  1.000000e-09  2.380000e-07
1020 2016-02-21 17:00:01  1.000000e-09  2.380000e-07
1020 2016-02-21 17:00:02  1.000000e-09  2.380000e-07

你想要的输出是什么?你好,伙计…我需要一个列的列表,其中是datetime,xra和整个列的xrb的最大值…在xrb列中可以有很多相同的最大值,我需要最后的最大值。也许你可以尝试打印列表(df.loc[df['xrb'][:-1].idxmax())相同的…我只得到['datetime','xra','xrb']但是没有值问题在你的索引中是重复的。我如何找到最后一个最大值?我让它再次打印df[df['xrb']==df['xrb'][:-1]。max()]我有下一个问题…我不知道我如何得到这个列表…打印列表(df[df['xrb']==df['xrb'].max())显示['datetime','xra','xrb']。首先我检查最后一个最大值-为我工作
打印df['xrb'==df['xrb'].max()[::-1]。重置索引(drop=True)。ix[0,:]
如果您需要
列表
,请尝试
打印df[df['xrb']==df['xrb'].max()[:-1]。重置索引(drop=True)。ix[0,:].tolist()
Aha koukal jsem ze jsi z bratislavy…muzeme po nasem?