如何使用Pandas生成列求和新DataFrame并合并多个求和结果
需求1:列求和生成单行DataFrame
直接使用Pandas原生的求和+转置操作即可,无需手动转字典:
import pandas as pd # 构造示例原数据 df = pd.DataFrame({ 'A': [1,2,3], 'B': [4,5,6], 'C': [7,8,9], 'D': [0,1,2] }) # 核心实现:按列求和后转置为单行DataFrame # 若存在非数值列,可给sum方法加 numeric_only=True 参数 sum_df = df.sum().to_frame().T
运行后sum_df的结构和你期望的结果完全一致。
需求2:合并两个单行求和DataFrame
利用Pandas数据框对齐相加的特性,指定缺失值填充为0即可实现「同列相加、异列保留」的规则:
# 构造示例的两个单行求和DataFrame df1 = pd.DataFrame({'A':[6], 'B':[15], 'C':[24], 'D':[3], 'F':[1]}) df2 = pd.DataFrame({'A':[1], 'B':[2], 'C':[3], 'D':[4], 'E':[2]}) # 核心实现:对齐相加,缺失位置默认填0,最后转int避免浮点类型 merge_sum_df = df1.add(df2, fill_value=0).astype(int)
运行后merge_sum_df会自动取两个DataFrame的列的并集,相同列数值相加,仅在单个DataFrame中存在的列保留原有值。
内容的提问来源于stack exchange,提问作者mymemesarespiciest
相关产品推荐
相关产品推荐

