【发布时间】:2019-06-28 10:45:19
【问题描述】:
我正在尝试将一个数据框中的行的值替换为另一个。
以下是示例代码
import pandas as pd
import numpy as np
from pprint import pprint
raceA = ['r1','r3','r4','r5','r6','r7','r8', 'r9']
qualifierA = ['last','first','first','first','last','last','first','first']
participantA = ['rat','rat','cat','cat','rat','dog','dog','dog']
dfA = pd.DataFrame(
{'race':raceA,
'qualifier':qualifierA,
'participant':participantA
}
)
pprint(dfA)
raceB = ['r1','r2','r3','r4','r5','r6','r7','r8', 'r9','r10']
qualifierB = ['last',np.nan,np.nan,'first','first','last','last','first','first',np.nan]
participantB = ['rat','rat',np.nan,'cat','cat','rat','dog','dog',np.nan,np.nan]
dfB = pd.DataFrame(
{'race':raceB,
'qualifier':qualifierB,
'participant':participantB
}
)
pprint(dfB)
dfB.loc[dfB.race.isin(dfA.race), ['qualifier','participant']] = dfA[['qualifier','participant']]
pprint(dfB)
例如在 dfA 中,
r9 first dog
dfB 包含,
r9 first NaN
期望的输出: dfB
r9 first dog
得到的输出:
r9 NaN NaN
有人可以调查一下吗?
【问题讨论】:
标签: python python-3.x pandas dataframe