我有两个包含不同排序数据的pandas DataFrame,我正在尝试根据内容将数据从一个移动到另一个。我已经尝试了一个lambda函数,但我不认为我理解这是如何工作的。以下是我的数据的简化版本:
df1 =
Name Pos Opponent DPAvPos
1 Dave QB DEN NaN
2 Bill QB GB NaN
3 Sean QB DET NaN
df2 =
Name DKP/Game
1 DET 20.1
2 DEN 10.4
3 GB 15.2
我想通过将来自df1的Opponent列的数据与df2的Name列匹配,将数据从df2的DKP / Game列移动到DPAvPos列df1。到目前为止,我所尝试的一切都没有奏效。
答案 0 :(得分:0)
您可以尝试合并这两个数据帧,然后删除DPAvPos并将DKP / Game重命名为DPAvPos:
import pandas as pd
df1 = pd.DataFrame({
"Name" : ["Dave", "Bill", "Sean"],
"Pos" : ['QB', 'QB', 'QB'],
"Opponent" : ["DEN", "GB", "DET"],
"DPAvPos": ["NaN", "NaN", "NaN"]
})
df2 = pd.DataFrame({
"Name" : ["DET", "DEN", "GB"],
"DKP/Game" : [ 20.1, 23, 21]
})
df2.rename(columns={"Name" : "Opponent"}, inplace=True)
df3 = pd.merge(df1, df2, on="Opponent")
df3.drop('DPAvPos', axis=1, inplace=True)
df3.rename(columns={"DKP/Game" : "DPAvPos"}, inplace=True)