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

Python DataFrame合并、求平均及自定义列实现问询

解决DataFrame合并及自定义列名、Rank均值计算问题

首先修正你提供的字典语法错误(Home行末尾缺少逗号,会导致语法报错),然后按以下步骤实现需求:

步骤1:创建并预处理两个DataFrame

先将字典转为pandas DataFrame,同时给非Rank、Team的列添加指定后缀:

import pandas as pd

# 修正语法错误后的原始数据
df_1_dict = {
    'Rank': [64, 102, 34],
    'Team': ["AR Lit Rock", "Abl Christian", "Air Force"],
    '2022': [73.8, 71.5, 67.2],
    'L3': [71.3, 77.3, 69.0],
    'Home': [78.2, 73.6, 70.1],
    'Away': [71.4, 70.2, 62.2],
}

df_2_dict = {
    'Rank': [354, 284, 83],
    'Team': ["AR Lit Rock", "Abl Christian", "Air Force"],
    '2022': [80.7, 74.0, 67.0],
    'L3': [78.7, 72.0, 75.3],
    'Home': [75.3, 69.1, 65.0],
    'Away': [83.7, 77.1, 70.3],
}

# 转为DataFrame并添加后缀
df1 = pd.DataFrame(df_1_dict).add_suffix('_PF').rename(columns={'Team_PF': 'Team', 'Rank_PF': 'Rank_PF'})
df2 = pd.DataFrame(df_2_dict).add_suffix('_PA').rename(columns={'Team_PA': 'Team', 'Rank_PA': 'Rank_PA'})

步骤2:合并DataFrame并计算Rank均值

通过merge按Team合并两个DataFrame,再计算Rank的平均值,最后调整列顺序:

# 按Team合并两个DataFrame
merged_df = pd.merge(df1, df2, on='Team', how='inner')

# 计算Rank平均值,添加到结果中
merged_df['Rank_Avg'] = merged_df[['Rank_PF', 'Rank_PA']].mean(axis=1)

# 调整列顺序(按需自定义)
final_df = merged_df[['Team', 'Rank_Avg', '2022_PF', '2022_PA', 'L3_PF', 'L3_PA', 'Home_PF', 'Home_PA', 'Away_PF', 'Away_PA']]

# 可选:将Rank_Avg转为整数(如果需要)
final_df['Rank_Avg'] = final_df['Rank_Avg'].astype(int)

print(final_df)

关于Rank均值计算异常的说明

你提到将Rank列转为float后解决了计算异常,通常这种情况是因为原始Rank列存在非数值类型数据(比如字符串格式的数字),或者在concat/groupby过程中因数据类型不一致导致聚合错误。转为float后统一了数据类型,确保均值计算正常执行。

输出结果示例

Team  Rank_Avg  2022_PF  2022_PA  L3_PF  L3_PA  Home_PF  Home_PA  Away_PF  Away_PA
0   AR Lit Rock       209     73.8     80.7   71.3   78.7     78.2     75.3     71.4     83.7
1  Abl Christian       193     71.5     74.0   77.3   72.0     73.6     69.1     70.2     77.1
2      Air Force        58     67.2     67.0   69.0   75.3     70.1     65.0     62.2     70.3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 14:27:23