python - 如果它们共享单元格值,如何连接数据框
问题描述
目前我有两个数据框。一个有几列填充的列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
但仅由具有的行组成的新数据库DF
。这没有用。我不确定从这里做什么。
作为额外的奖励,我真的希望能够通过半模糊搜索来做到这一点,以防它们在名称中拼写错误。
解决方案
推荐阅读
- php - 如何在 Eloquent Laravel 中咨询三个表
- typescript - React Native 自动为对象添加尾随逗号
- kubernetes - Helm 图表因必需值而失败
- c++ - WINAPI RegisterApplicationRestart 不清除打开的套接字
- javascript - 在 vuejs 的 v-for 中使用 img src
- direct3d - 如何在对象之前渲染子窗口?
- json - 在 Flutter/Dart 中从 JSON 数组中提取数据
- android - 有时我的应用程序在以 API 28 为目标后因 android.view.InflateException 而崩溃
- r - 如何告诉 readr::read_csv 正确猜测双列
- apache - htaccess RewriteRule:在第一个参数之后省略所有的问题