【发布时间】:2020-08-03 07:49:11
【问题描述】:
我有两个 dfs,df1 和 df2。我需要以一种可能需要多个左连接的方式组合 dfs,但我觉得有更好的方法来做到这一点。
df1 是一个位置和与之相关联的人(id 号)的表格,它看起来像这样。
location person1 person2 person3 ... personn
1 12 450 2 ... 90
2 23 218 4 ... 3
3 1000 274 937 ... 318
.... ... ... ... ... ...
1350 1 41 10 ... 101
df2 包含有关人员的信息。它看起来像这样:
person year action
1 2020 a
2 2020 a
3 2020 b
4 2020 c
1000 2020 a
1 2019 c
2 2019 b
3 2019 a
4 2019 c
... ... ...
1000 2019 b
理想情况下,我希望组合数据集如下所示:
location year action_a_count action_b_count action_c_count ... action_n_count
1 2020 1 0 0 ... ...
2 2020 0 1 1 ... ...
3 2020 1 0 0 ... ...
1350 2020 1 0 0 ... ...
1 2019 0 1 0 ... ...
2 2019 0 1 1 ... ...
3 2019 0 1 0 ... ...
1350 2019 0 0 1 ... ...
... ... ... ... ... ... ...
现在我的直觉是做一系列的左连接,将每个人的动作输入 df1,然后找出一种方法来计算它们。
【问题讨论】:
标签: python python-3.x pandas for-loop join