【发布时间】:2016-12-25 16:45:14
【问题描述】:
我有两个大熊猫数据框(数百万行),其中包含两列、一个组标识符和一个 ID。我正在尝试创建一个组合数据帧,其中包含组、id 以及如果 id 在第一个数据帧中的 1 列,如果 id 在第二个数据帧中,则为 0 和 1 列,否则一个 0。
换句话说,我正在尝试合并两个数据帧,并根据每个原始数据帧是否存在 id 创建条件列。有关如何解决此问题的任何建议?
这是一个小例子:
import pandas as pd
>>> df_a = pd.DataFrame({'group': list('AAABBB'), 'id': [11,12,13,21,22,23]})
>>> df_b = pd.DataFrame({'group': list('AAABB'), 'id': [11,13,14,22,24]})
>>> df_a
group id
A 11
A 12
A 13
B 21
B 22
B 23
>>> df_b
group id
A 11
A 13
A 14
B 22
B 24
输出应如下所示:
>>> df_full
group id a b
A 11 1 1
A 12 1 0
A 13 1 1
A 14 0 1
B 21 1 0
B 22 1 1
B 23 1 0
B 24 0 1
【问题讨论】: