【问题标题】:Pandas: Dropping Duplicate Values But Keeping How Many Values in Another ColumnPandas:删除重复值但在另一列中保留多少值
【发布时间】:2020-12-08 00:16:29
【问题描述】:

我有一个推文数据框,并相应地制作了一个 user_table。我想看看哪些用户最活跃。

我已经能够删除重复值了

from collections import Counter
user_list = user_table['user.id'].tolist()
user_count = Counter(user_list) # get dictionary count
user_table.drop_duplicates(subset='user.id', keep = 'first', inplace = True) # drops duplicate values

但是我即将将每个 id 匹配到适当的字典并分配给排序列表,将其转换为 pandaseries,然后在 user_table 中为其分配一个列,但我觉得应该有一个更简化的方法

【问题讨论】:

    标签: python database dataframe counter series


    【解决方案1】:

    在 DataFrame 中使用 groupby 有一个很好的方法:

    df_count = user_table.groupby('user.id').count()
    df_count['Count'] = df_count.iloc[:,0] # pick a column, any column works
    

    然后,将其合并回具有唯一条目的表:

    user_table.drop_duplicates(subset='user.id', keep = 'first', inplace = True)
    df_merged = pandas.merge(user_table, df_count, on='user.id', how='left')
    

    【讨论】:

    • 我想查看附加为列的计数,其中所有值都相同,除了重复项被删除,我知道根据刚刚附加的总计数删除了多少
    猜你喜欢
    • 2019-06-10
    • 2019-10-27
    • 2022-11-15
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 2020-10-22
    • 1970-01-01
    相关资源
    最近更新 更多