Python Pandas-使用另一个的值更新数据框列 [英] Python Pandas-Update a data frame column with values from another
问题描述
我想在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'])
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
注意:
df2
中Wrestler
列中的值必须唯一.
Values in Wrestler
column in df2
have to be unique.
这篇关于Python Pandas-使用另一个的值更新数据框列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!