【发布时间】:2020-03-02 04:47:07
【问题描述】:
我有多个数据框,示例数据:
df1:
user_id username firstname lastname
123 abc abc abc
456 def def def
789 ghi ghi ghi
df2:
user_id username firstname lastname
111 xyz xyz xyz
456 def def def
234 mnp mnp mnp
df3:
user_id username firstname lastname
789 ghi ghi ghi
456 def def def
222 uwv uwv uwv
我想连接这些数据框,删除重复的行,并通过添加更多列来跟踪行的来源。期望的输出:
df1:
user_id username firstname lastname df1 df2 df3
123 abc abc abc 1 0 0
456 def def def 1 1 1
789 ghi ghi ghi 1 0 1
111 xyz xyz xyz 0 1 0
234 mnp mnp mnp 0 1 0
222 uwv uwv uwv 0 0 1
我可以使用以下方法连接第一步:
pd.concat([df1, df2, df3]).drop_duplicates('user_id').reset_index(drop=True)
我该如何做最后一步(制作原始列)?我不知道如何在没有 forloop 的情况下做到这一点,这对于大数据框来说是不实用的。谢谢
【问题讨论】: