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

合并三个DataFrame:ops列求和、lat列求均值的实现方法

解决方案

首先需要处理DataFrame中ops和lat列的格式问题——当前这两列是带逗号的字符串,必须先转换为数值类型才能进行运算:

import pandas as pd

# 定义清洗函数:去除逗号并转为整数
def clean_numeric_cols(df):
    df['ops'] = df['ops'].str.replace(',', '').astype(int)
    df['lat'] = df['lat'].str.replace(',', '').astype(int)
    return df

# 清洗三个DataFrame
A = clean_numeric_cols(A)
B = clean_numeric_cols(B)
C = clean_numeric_cols(C)

以下两种方法都能实现你的需求:

方法一:利用concat+聚合运算

先按列拼接三个DataFrame,再按行索引分组进行聚合:

# 按列拼接,得到包含重复列名的临时DataFrame
combined = pd.concat([A, B, C], axis=1)

# 对ops列求和,lat列求平均
result = pd.DataFrame({
    'ops': combined['ops'].sum(axis=1),
    'lat': combined['lat'].mean(axis=1)
})

方法二:直接元素级运算

由于三个DataFrame的行索引完全对齐,可以直接对对应列做元素级加减运算:

result = pd.DataFrame({
    'ops': A['ops'] + B['ops'] + C['ops'],
    'lat': (A['lat'] + B['lat'] + C['lat']) / 3
})

最终得到的result就是目标DataFrame:每行的ops为三个原DataFrame对应行的求和结果,lat为对应行的平均值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:16:12