【问题标题】:How to group the the columns of dataframe to list in pandas?如何将数据框的列分组以在熊猫中列出?
【发布时间】:2017-06-16 15:27:47
【问题描述】:
   member_srl  click_day  productid
0        6963   20170106    3927352
1        6963   20170106    3790726
2        6963   20170106     977962
3        6963   20170106    1393860
4        6963   20170106    3759353

这是我的 df,我想将 member_srl 和 click_day 分组,以获取 productid 列表。例如member_srl 6963和click_day 20170106将对应产品列表:[3927352,3790726,977962,1393860,3759353]

谢谢。

【问题讨论】:

    标签: pandas


    【解决方案1】:

    使用groupbyapply list

    df = df.groupby(['member_srl','click_day'])['productid'].apply(list)
    print (df)
    member_srl  click_day
    6963        20170106     [3927352, 3790726, 977962, 1393860, 3759353]
    Name: productid, dtype: object
    
    df = df.groupby(['member_srl','click_day'])['productid'].apply(list).reset_index()
    print (df)
       member_srl  click_day                                     productid
    0        6963   20170106  [3927352, 3790726, 977962, 1393860, 3759353]
    

    【讨论】:

    • 好吧,看来我应该扩大我的内存(16G)而原来的csv是16G。当我使用你的代码时它崩溃了。谢谢。
    • 在我看来,如果使用 16GB csv,16GB RAM 是有问题的。 :( 是否可以添加 RAM 或使用另一台机器?
    • 谢谢。我正在将数据移动到另一台机器。非常感谢。
    猜你喜欢
    • 2020-04-27
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    相关资源
    最近更新 更多