python - 在匹配两个数据框具有的列中的值后,如何将数据框的列值作为新列放入另一个数据框?
问题描述
我正在尝试在 DataFrame 中创建一个新列,并将其与存储在不同数据框中的值一起存储,方法是首先比较两个数据框所具有的列的值。例如:
df1 >>>
| name | team | week | dates | interceptions | pass_yds | rating |
| ---- | ---- | -----| ---------- | ------------- | --------- | -------- |
| maho | KC | 1 | 2020-09-10 | 0 | 300 | 105 |
| went | PHI | 1 | 2020-09-13 | 2 | 225 | 74 |
| lock | DEN | 1 | 2020-09-14 | 0 | 150 | 89 |
| dris | DEN | 2 | 2020-09-20 | 1 | 220 | 95 |
| went | PHI | 2 | 2020-09-20 | 2 | 250 | 64 |
| maho | KC | 2 | 2020-09-21 | 1 | 245 | 101 |
df2 >>>
| name | team | week | catches | rec_yds | rec_tds |
| ---- | ---- | -----| ------- | ------- | ------- |
| ertz | PHI | 1 | 5 | 58 | 1 |
| fant | DEN | 2 | 6 | 79 | 0 |
| kelc | KC | 2 | 8 | 105 | 1 |
| fant | DEN | 1 | 3 | 29 | 0 |
| kelc | KC | 1 | 6 | 71 | 1 |
| ertz | PHI | 2 | 7 | 91 | 2 |
| goed | PHI | 2 | 2 | 15 | 0 |
在匹配团队和周列之后,我想dates
在 df2 中创建一个列,其中存储在dates
df1 列中的日期值。匹配后,本例中的 df2 应如下所示:
df2 >>>
| name | team | week | catches | rec_yds | rec_tds | dates |
| ---- | ---- | -----| ------- | ------- | ------- | ---------- |
| ertz | PHI | 1 | 5 | 58 | 1 | 2020-09-13 |
| fant | DEN | 2 | 6 | 79 | 0 | 2020-09-20 |
| kelc | KC | 2 | 8 | 105 | 1 | 2020-09-20 |
| fant | DEN | 1 | 3 | 29 | 0 | 2020-09-14 |
| kelc | KC | 1 | 6 | 71 | 1 | 2020-09-10 |
| ertz | PHI | 2 | 7 | 91 | 2 | 2020-09-20 |
| goed | PHI | 2 | 2 | 15 | 0 | 2020-09-20 |
我正在寻找最佳解决方案。我已经尝试过嵌套 for 循环并将两个数据帧中的week
andteam
列一起比较,但这并没有奏效。在这一点上,我完全没有想法。请帮忙!
免责声明:我正在使用的实际数据帧要大得多。他们有更多的行、列和值(即列中有更多的团队,team
列中有更多的日期,dates
列中有更多的周week
数)
解决方案
推荐阅读
- jsrender - JSViews array.length 更新不正确
- python-3.x - 为什么导入正则表达式会出现回溯错误?
- go - 单值上下文中的多值 reader.ReadString()
- swift - 访问 ViewController 中的自定义单元格
- xcode - uiimageview 不在视图控制器中显示图像
- php - scandir - 如何获取原始文件夹 - 文件顺序
- javascript - jQuery - 对 hasClass() 没有反应
- opengl - 使用opengl围绕枢轴原点旋转
- python - 如何重写用户定义的函数并将其更改为用户定义的方法?
- keras - 通过度量访问层权重