【发布时间】:2021-01-13 20:52:20
【问题描述】:
我正在创建一个应用程序,它将 CSV 加载到一个数据帧中,并将 SQL 查找表加载到另一个数据帧中。
第一帧有列:col1, col2, ..., coln。
第二帧是一个只包含 col1 和 col2 的查找表。
查找表的样子
| col1 | col2 |
|---|---|
| AB | 123 |
| AB | 234 |
| BC | 456 |
等等。第一个表需要有一个有效的键组合。我想获取无效的记录集。
我需要做一些类似“如果键对不存在,则抓取记录。否则丢弃”
我想我可以对每一个都做一个嵌套循环,但我想知道是否有更有效的方法来做到这一点,例如使用pd.merge 或其他东西。
这是我目前所得到的:
... create two dataframes
...
frame = d1.merge(df2, how='outer', indicator=True, left_on=['col1', 'col2']).loc[lambda x: x['_merge'] == 'left_only']
我收到此错误:
TypeError: 'NoneType' 类型的对象没有 len()
有没有更好的方法来做到这一点?
【问题讨论】: