我试图用另一个数据帧替换一个数据帧中的行的值。你知道吗
下面是示例代码
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
有人能调查一下吗?你知道吗
我会分多个步骤做这样的事情。你知道吗
首先我将合并两个数据帧-
然后清洁参与者栏-
然后清除限定符列(如果需要)——
然后只选择所需的列作为输出df-
让我知道,如果有效或无效
将^{} 与数据帧一起用作:
或使用
update
:如果我拿不好就纠正我。 如果要更新一行或多列,则可以更新该列的特定索引的值。 如。 如果我想更新B列中的所有行,那么
相关问题 更多 >
编程相关推荐