我有一个数据帧,比如:

Sequence    Duration1   Value1  Duration2   Value2  Duration3   Value3
1001        145         10      125         53      458         33
1002        475         20      175         54      652         45
1003        685         57      687         87      254         88
1004        125         54      175         96      786         96
1005        475         21      467         32      526         32
1006        325         68      301         54      529         41
1007        125         97      325         85      872         78
1008        129         15      429         41      981         82
1009        547         47      577         52      543         83
1010        666         65      722         63      257         87

我想在(Duration1、Duration2、Duration3)中找到Duration的最大值,并返回相应的值&序列

我想要的输出:

Sequence,Duration3,Value3
1008,    981,      82

推荐答案

请try 以下非常简短的代码,主要基于Numpy:

vv = df.iloc[:, 1::2].values
iRow, iCol = np.unravel_index(vv.argmax(), vv.shape)
iCol = iCol * 2 + 1
result = df.iloc[iRow, [0, iCol, iCol + 1]]

结果是Series:

Sequence     1008
Duration3     981
Value3         82
Name: 7, dtype: int64

如果你想"重新调整"它(首先是索引值,然后是实际值),

pd.DataFrame([result.values], columns=result.index)

Python-3.x相关问答推荐

只有在Chrome尚未打开的情况下,打开Chrome后,PySimpleGUI窗口才会崩溃

确定字符串的长度并提取前15或14个字符

安装grpcio时出现错误DeproationWarning:pkg_resource

如何获得大Pandas 的常见时间间隔

While循环不停止地等待,直到时间.睡眠结束

如何使用TensorFlow Keras子类化来构建和训练模型

requests.exceptions.InvalidSchema:未找到连接适配器.我试图遍历一个列表

你能骗PIP 让它相信包已经安装了吗

生成具有偶数个 0 和 1 的给定长度的所有二进制数

在 python 中使用正则表达式在行尾查找特定元素

当参数名称与 typing.Protocol 中定义的名称不同时发生 mypy 错误

机器学习实验笔记本的工作区 url

在气流中运行 DAG 时出现处理信号:ttou消息

如何从 Python 3.5 降级到 Python 3.4

如何在 Spyder 控制台中使用变量执行 Python 3.3 脚本?

IronPython 3 支持?

python 3的蓝牙库

同步调用协程

如何在 Python 3.2 中退出?

如何更改 tkinter 文本小部件中某些单词的 colored颜色 ?