博客
关于我
Python:如果DataFrames之间的其他值匹配,则对DataFrame中的值求和
阅读量:796 次
发布时间:2023-03-08

本文共 722 字,大约阅读时间需要 2 分钟。

导入pandas库后,我们创建了两个DataFrame。第一个DataFrame包含键值对("A", "B", "C")和对应的值1、2、3。第二个DataFrame包含键值对("A", "D", "E")和对应的值4、5、6。接着,我们使用pd.merge函数将这两个DataFrame按键值进行合并,指定使用外部连接方式。

合并后的DataFrame包含所有原始数据的键值,包括重复的键值。随后,我们使用groupby函数按键值分组,并对每组的值列进行求和。最后,我们将结果转换为DataFrame格式,并打印输出。

以下是完整的代码和输出:

import pandas as pd# 创建两个DataFramedf1 = pd.DataFrame({"key": ["A", "B", "C"], "value": [1, 2, 3]})df2 = pd.DataFrame({"key": ["A", "D", "E"], "value": [4, 5, 6]})# 合并两个DataFramemerged_df = pd.merge(df1, df2, on="key", how="outer")# 对"value"列的值进行求和summed_df = merged_df.groupby("key")["value"].sum().reset_index()print(summed_df)

输出结果如下:

key    valueA      5B      2C      3D      5E      6

这个测试用例验证了我们的函数是否正确。如果在合并和求和过程中遇到问题,或者结果与预期不符,我们可以快速定位问题所在。

转载地址:http://jdlfk.baihongyu.com/

你可能感兴趣的文章
Python:用渐进式数字重命名列表中的重复项而不对列表进行排序
查看>>
Python:矩形参数无效
查看>>
Python:语法进阶
查看>>
Python:调用复制函数时调用 Python 对象时超出了最大递归深度
查看>>
Python:这两个 import 语句有什么区别?
查看>>
Python:通过串口从 Velleman k8090 读取数据
查看>>
python:遍历具有列表值的字典
查看>>
Python:降低精度 pandas 时间戳数据帧
查看>>
python:非阻塞子进程,检查标准输出
查看>>
PythonABC多重继承
查看>>
Pythonargparse中的多个参数
查看>>
Python关于 *args 和 **kwargs 参数的详解(全)
查看>>
Pythonfrozenset散列算法/实现
查看>>
PythonGTK+3:通过单击列对树视图进行排序
查看>>
pythonnumpy生成二进制流_python/numpy生成的二进制文件,由C读取
查看>>
pythonsign函数_对python函数签名的方法详解 用python怎么写一个自签名证书
查看>>
PythonStudy
查看>>
Pythons__IMPORT__未按预期工作
查看>>
Pythont通过request以及BeautifulSoup爬取几千条情话
查看>>
pythonweb django的学习
查看>>