Python熊猫合并问题

问题描述 投票:1回答:1

我正在合并两个数据集:

th_users_clean有12,000行。th有207,917行。

我执行了几种合并类型(内部,左侧等),但是似乎只能维护207,917行。我确实希望将th中的信息添加到th_users_clean中,这意味着我想要一个最终的12,000行合并表。有谁知道是什么引起了这个问题?

每个数据框的标题如下。我想将它们合并在user_id上。最终输出应为12,000行14列。

full_df = th.merge(th_users_clean, on = 'user_id')
th.head(2)

    time_stamp          user_id visited visits_7_days   adopted_users
0   2014-04-22 03:53:30     1     1         1.0            0
1   2013-11-15 03:45:04     2     1         1.0            0 
th_users_clean.head(2)
        time_stamp    user_id   visited visits_7_days   adopted_users   creation_time   name                   email               creation_source  last_session_creation_time  opted_in_to_mailing_list    enabled_for_marketing_drip  org_id  invited_by_user_id
0   2014-04-22 03:53:30   1        1        1.0              0      2014-04-22 03:53:30 Clausen August  [email protected]    GUEST_INVITE    2014-04-22 03:53:30               1                                0                   11    10803.0
python pandas dataframe
1个回答
1
投票

您想连接数据帧,而不是合并它们。串联就像附加到末尾。

concat = pandas.concat([th, th_users_clean])

输出:

        time_stamp    user_id   visited visits_7_days   adopted_users   creation_time         name 
0   2014-04-22 03:53:30     1     1         1.0            0
1   2013-11-15 03:45:04     2     1         1.0            0 
2   2014-04-22 03:53:30     1     1         1.0            0      2014-04-22 03:53:30 Clausen August

合并正在将th_users_clean的列添加到th。例如,如果要将th_users_clean的列合并到th上的time_stamp

merge = pandas.merge(th, th_users_clean, on='time_stamp')

输出:

    time_stamp    user_id   visited visits_7_days   adopted_users   creation_time         name 
0   2014-04-22 03:53:30     1     1         1.0            0      2014-04-22 03:53:30 Clausen Augus
1   2013-11-15 03:45:04     2     1         1.0            0 

这里,time_stamp中的thth_users_clean匹配,并且th_users_clean行中的所有值都添加到th

© www.soinside.com 2019 - 2024. All rights reserved.