目前,我有两个数据框。一个填充了几列的列,包括Names
和一堆空列。另一个数据框具有第一个填充的所有空列。我仅在数据框共享单元格值时才尝试用第二个数据框中的数据填充第一个数据框的空列。
示例:
DB:
Amount Foil? Name Set ....
3 nan purify the grave innistrad
2 nan slayer of the wicked innistrad
1 nan doomed traveler innistrad
1 nan fiend hunter innistrad
DF:
eur name rarity tix usd set_name ....
0.21 Ballyrush Banneret common 0.02 0.17 Morningtide
0.34 Battletide Alchemist rare 0.01 0.88 Morningtide
0.05 Burrenton Bombardier common 0.01 0.03 Morningtide
0.03 Burrenton Shield-Bearer common 0.01 0.03 Morningtide
0.21 Cenn's Tactician uncommon 0.01 0.22 Morningtide
0.05 Changeling Sentinel common 0.01 0.08 Morningtide
0.04 Coordinated Barrage common 0.01 0.11 Morningtide
0.06 Daily Regimen uncommon 0.01 0.14 Morningtide
现在DF
中某处的行应与name
中的set
和db
单元格匹配(db
只有我拥有的卡而df
拥有我所有集合中的所有卡片)。如果是这样,我希望能够使用DB
中的所有信息来更新DF
中的行。我应该怎么做呢?
所需的最终行为是
DB:
Amount Foil? Name Set usd ....
3 nan purify the grave innistrad .5
2 nan slayer of the wicked innistrad .7
1 nan doomed traveler innistrad .9
1 nan fiend hunter innistrad ...
final_db = pd.concat([db, df.loc[df['name'].isin(db['Name'])]],ignore_index=True,sort=True)
我的想法是它将连接(而忽略index
)DB
和一个新的数据库,该数据库的长度为DB
,但仅由{{1} } 已。这没有用。我不确定从这里做什么。
作为一个额外的奖励,我真的很希望能够使用半模糊搜索来做到这一点,以防它们的名称拼写错误。