【发布时间】:2017-08-25 05:15:38
【问题描述】:
我正在尝试分析我使用 Pandas 获得的数据的趋势。我有两个表,如果该行中的 UID 和 PID 存在于另一个表中,我想在一个表中创建一个新的二进制列。我目前拥有的表格示例如下:
>>> df_a = pd.DataFrame({"UID": [123, 456, 789, 012], "PID": [12, 55, 56, 89], "TIM": [76, 54, 21, 25]})
>>> df_a
PID TIM UID
0 12 76 123
1 55 54 456
2 56 21 789
3 89 25 010
>>> df_b = pd.DataFrame({'UID': [221, 012, 653, 456], 'PID': [17, 89, 51, 55], 'FOO': [2347, 32447, 3234, 7999]})
>>> df_b
FOO PID UID
0 2347 17 221
1 32447 89 010
2 3234 51 653
3 7999 55 456
我希望最终结果是:
>>> df_a
PID TIM UID PUR
0 12 76 123 0
1 55 54 456 1
2 56 21 789 0
3 89 25 010 1
但我不知道该怎么做。我认为left join 将是要走的路,但我也很难做到这一点。任何帮助将不胜感激
【问题讨论】:
-
是的,你想做一个左连接(在 pandas 中称为合并)
标签: python python-2.7 pandas join