python - Python - 具有相同结构的 2 个 df 在第三个数据帧中相加
问题描述
我只是在处理一些足球数据,我基本上想在几列上添加 2 个数据框。
这是我所拥有的:
import pandas as pd
d1 = {'PlayerID': [1, 2], 'Name': ['Tyreek', 'Amari'], 'Targets': [15, 16], 'Receptions': [11, 13]}
df1 = pd.DataFrame(data=d1)
d2 = {'PlayerID': [1, 2], 'Name': ['Tyreek', 'Amari'], 'Targets': [4, 5], 'Receptions': [3,3]}
df2 = pd.DataFrame(data=d2)
desired output
[PlayerID|Name|Targets|Receptions]
[ 1 |Tyreek| 19 | 14]
[ 2 |Amari | 21 | 16]
两个数据框具有相同的列,但来自季节的不同周。我试过 merge/concat/add 但这只是分别增加了几周。我想创建一个仅添加最近一周的季节日期数据框。例如,Tyreek Hill 在第一周有 15 个目标,在第 2 周有 4 个目标,因此本赛季迄今为止的数据框应该显示 19 个目标。
解决方案
尝试:
df1.set_index(['PlayerID', 'Name']).add(df2.set_index(['PlayerID', 'Name'])).reset_index()
输出:
PlayerID Name Targets Receptions
0 1 Tyreek 19 14
1 2 Amari 21 16
推荐阅读
- apache-spark - Windows 10 上的 pyspark 安装失败
- javascript - 如何使用 react.js 从 RESTAPI 获取数据
- c# - 如何在 AppCenter SDK for C# 中为 TrackError 注册事件处理程序?
- c# - 将表格元素加载到组合框中
- javascript - fs.opensync 不是函数
- codenameone - 代号一中的Android清单合并错误
- html - 将 Excel 文件内容显示为 HTML 表格 Angular
- c - GCC 中 strftime 的自定义语言环境字符串
- javascript - 是否保证在客户端智能支付按钮 .then() 之后会触发 webhook?
- mysql - MySQL 使用 leftjoin 和 select