You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于df1列最大值及对应位置df2值创建新DataFrame df3

解决方案:创建包含df1列最大值及df2对应位置值的df3

完整实现代码

import pandas as pd

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每列最大值并转为单行DataFrame
max_values = df1.max().to_frame().T
# 获取df1每列最大值的索引,提取df2中对应位置的值
df2_corresponding = df2.lookup(df1.idxmax(), df1.columns).to_frame().T
# 合并两行得到df3
df3 = pd.concat([max_values, df2_corresponding], ignore_index=True)

print(df3)

代码说明

  • 提取df1列最大值:用df1.max()获取每列最大值,通过to_frame().T将结果转为单行DataFrame,作为df3的第一行。
  • 提取df2对应值:df1.idxmax()返回每列最大值所在的行索引,结合df2.lookup()精准提取df2中对应列、对应索引位置的值,转为单行DataFrame作为df3的第二行。
  • 合并结果:使用pd.concat()将两行数据合并,ignore_index=True重置行索引,得到目标df3。

输出结果

0      1
0  7.0  15.00
1  0.45  0.115

内容的提问来源于stack exchange,提问作者shoggananna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 12:24:24