我有这样一个 Dataframe :
>>>import pandas as pd
>>>df = pd.DataFrame({'x1':[20,25],'y1':[5,8],'x2':[22,27],'y2':[10,2]})
>>>df
x1 y1 x2 y2
0 20 5 22 10
1 25 8 27 2
>>>
X和Y配对在一起。我需要比较y1和y2,得到每一行的最大值。然后找到对应的x。因此,row [0]的最大值是y2(= 10),对应的x是x2(= 22)。第二行将是y1(= 8)和x1(= 25)。预期结果,新列x和y:
x1 y1 x2 y2 x y
0 20 5 22 10 22 10
1 25 8 27 2 25 8
这是一个简单的数据框架,我做了详细的问题。X和Y对,在我的情况下,可以是30对。
6条答案
按热度按时间flmtquvp1#
得到
olqngx592#
你可以在.apply函数的帮助下完成。
eit6fx6z3#
你可以使用下面的函数。记得像我在这段代码中那样导入Pandas和小可爱。导入你的数据集并使用Max_number函数。
返回以下内容:
| 行索引|管柱|最大值|
| - ------| - ------| - ------|
| 无|x2|二十二|
| 1个|x2|二十七|
ghhaqwfi4#
如果x1列先出现,然后是y1,然后是x2、y2,依此类推,您可以尝试:
qncylg1j5#
这是一种解决方案:
如果您需要保持顺序,那么可以添加另一个具有原始索引的列,并在连接后按其排序
a8jjtwal6#
希望你的解决方案能奏效,