【发布时间】:2022-01-05 15:01:59
【问题描述】:
假设我在 python 中有两个数据集:家庭和人(个人)。一个密钥或 id (int64) 将一个家庭与一个或多个个人联系起来。我想创建一个名为“last_member”的二进制变量,如果同一家庭中有更多人,则该变量取值为 0,如果此人是该家庭的最后一个成员,则取值为 1。
一个简单的例子如下:
last_member id ...
0 1 ...
0 1 ...
1 1 ...
1 2 ...
0 3 ...
1 3 ...
...
我可以从家庭数据集或个人数据集本身获取唯一 ID 的数量。
我感觉numpy's where function 或pandas' aggregate 都是找到此类解决方案的有力候选者。尽管如此,我还是无法理解一个不涉及(比如说)循环遍历索引列表的高效解决方案。
【问题讨论】:
标签: python pandas dataframe numpy relational-database