所以我有两个数据帧,一个是当我有球员统计数据和他的id时,另一个是当我有id和球员真实姓名时。我想将第一个数据帧中的列从玩家id更改为第二个数据帧中的玩家实名pased
data_1 = {'ID_first_player':['1', '2', '3', '4'],
'ID_second_player':['1', '4', '3', '8'],
'Points':[20, 21, 19, 18]}
data_2 = {'ID':['1', '2', '3', '4', '5', '6', '7', '8],
'RealName':['Tom', 'mark', 'nick', 'dan', 'krish', 'jack', 'maxim', 'ken']}
df_1 = pd.DataFrame(data_1)
df_2 = pd.DataFrame(data_2)
result_data = {'Name_first_player':['Tom', 'mark', 'nick', 'dan'],
'Name_second_player':['Tom', 'dan', 'nick', 'ken'],
'Points':[20, 21, 19, 18]}
df_result = pd.DataFrame(result_data)
我像这样累了,但不工作
df_1['ID_first_player'] = df_2[df_2['ID'] == df_1['ID_first_player']].iloc[:,1]
有人能帮忙吗
您可以使用
join
,这将是您想要做的SQL方法那么df_realnames的列将是“RealName_first_player”和“RealName_second_player”,这实际上是更准确的描述
您可以使用
.map
:印刷品:
您可以从df_2值创建字典,然后替换df_1中的值:
输出:
相关问题 更多 >
编程相关推荐