繁体   English   中英

使用来自 df1 的最大值和来自 df2 的相应值(相同位置)创建新的 df3

[英]create new df3 with max values from df1 and corresponding values (same position) from df2

我想创建一个新的df3基于

1)df1的每一列中找到最大值和

2)然后附加一行与df2中的相应值(与df1相同的 position )

输入:

data = [[2, 10], [5, 15], [7, 14]]
data1 = [[0.5, 0.25], [.55, .115], [.45, .414]]
    
    df1 = pd.DataFrame(data)
    df2 = pd.DataFrame(data1)
    df1.max()
    df1.idxmax()

Output:df1

   0   1
0  2  10
1  5  15
2  7  14

Output:df2

      0      1
0  0.50  0.250
1  0.55  0.115
2  0.45  0.414

所需 Output: df3

         0     1
0        7     15
1        0.45  0.115

注意: df1中的列将是唯一的。

你可以试试:

df3 = pd.DataFrame([df1.max().tolist(), [df2.at[row, col] for row, col in zip(df1.idxmax(), df1.columns)]])

Output:

      0       1
0  7.00  15.000
1  0.45   0.115

无需通过创建蒙版进行循环。

df3 = pd.DataFrame([df1.max(), df2.values.flatten('F')[(np.amax(df1.values, axis=0) == df1.values).flatten('F')]])
df3
###
      0       1
0  7.00  15.000
1  0.45   0.115

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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