Python Pandas-使用另一个的值更新数据框列 [英] Python Pandas-Update a data frame column with values from another

查看:295
本文介绍了Python Pandas-使用另一个的值更新数据框列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Python上做得更好,并决定对我的一种激情做一些分析.摔角!在这种情况下,日本摔跤!

i'm trying get better at Python and decided to do some analysis on one of my passions. Wrestling! In this case, Japanese Wrestling!

基本上,我正在尝试从另一个数据帧更新一个数据帧中的值.这是我的第一个数据框的样子

Basically I'm trying to update values in one data frame from another data frame. Here's what my first data frame looks like

|   | Wrestler          | Matches | DMR |
| 0 | TETSUYA NAITO     | 9       | 0   |
| 1 | HIROSHI TANAHASHI | 9       | 0   |
| 2 | BAD LUCK FALE     | 9       | 0   |
| 3 | KOTA IBUSHI       | 9       | 0   |
| 4 | ZACK SABRE JR.    | 9       | 0   |
| 5 | HIROOKI GOTO      | 9       | 0   |
| 6 | TOMOHIRO ISHII    | 9       | 0   |
| 7 | TOGI MAKABE       | 9       | 0   |
| 8 | YOSHI-HASHI       | 9       | 0   |
| 9 | YUJI NAGATA       | 9       | 0   |

我要更新的列是DMR *(Dave Meltzer Ratings)*,它来自另一个数据帧,该数据帧是由我输入的某些数据生成的:

The column I'm trying to update is DMR*(Dave Meltzer Ratings)* from another data frame that is generated from some data I input:

| Wrestler          | DMR      |
| BAD LUCK FALE     | 3.166667 |
| HIROOKI GOTO      | 3.694444 |
| HIROSHI TANAHASHI | 4.111111 |
| KOTA IBUSHI       | 4.222222 |
| TETSUYA NAITO     | 4        |
| TOGI MAKABE       | 3.611111 |
| TOMOHIRO ISHII    | 4.25     |
| YOSHI-HASHI       | 3.638889 |
| YUJI NAGATA       | 4.138889 |
| ZACK SABRE JR.    | 3.611111 |

我觉得这很简单,但是找不到任何可以解释如何做的东西.任何帮助,将不胜感激.

I have a feeling it's something simple but I couldn't find anything that would explain how to do it. Any help on this would be greatly appreciated.

谢谢, 珊

推荐答案

使用 map 通过Series:

df1['DMR'] = df1['Wrestler'].map(df2.set_index('Wrestler')['DMR'])

merge drop 进行删除:

Or merge with left join and drop for remove column:

df1 = pd.merge(df1.drop('DMR', axis=1), df2, how='left')


print (df1)
            Wrestler  Matches       DMR
0      TETSUYA NAITO        9  4.000000
1  HIROSHI TANAHASHI        9  4.111111
2      BAD LUCK FALE        9  3.166667
3        KOTA IBUSHI        9  4.222222
4     ZACK SABRE JR.        9  3.611111
5       HIROOKI GOTO        9  3.694444
6     TOMOHIRO ISHII        9  4.250000
7        TOGI MAKABE        9  3.611111
8        YOSHI-HASHI        9  3.638889
9        YUJI NAGATA        9  4.138889

注意:

df2Wrestler列中的值必须唯一.

Values in Wrestler column in df2 have to be unique.

这篇关于Python Pandas-使用另一个的值更新数据框列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆