【问题标题】:Perform multiple transformations on pandas dataframe columns对 pandas 数据框列执行多次转换
【发布时间】:2017-09-18 04:31:29
【问题描述】:

我有一个如下的DataFrame:

现在我想按用户名分组并转换为新的 DataFrame:

我使用 Python 2.7 或 3.6 都可以

【问题讨论】:

    标签: python pandas dataframe group-by pandas-groupby


    【解决方案1】:

    好像你想要agg,而不是transform...

    df = df.groupby('Username')\
             .agg({'Item' : lambda x: x.tolist(), 'Price' : 'sum'})
    

    如果你想要一个逗号分隔的字符串,它会涉及一个额外的str.join

    df = df.groupby('Username')\
          .agg({'Item' : lambda x: ', '.join(x.tolist()), 'Price' : 'sum'})
    df
    
    +------------+---------+-----------+
    | Username   |   Price | Item      |
    |------------+---------+-----------|
    | Johne      |    4500 | Food, Tea |
    | Mary       |    1000 | Meat      |
    | Peter      |    2850 | Food, Egg |
    | Ted        |     750 | CK        |
    +------------+---------+-----------+
    

    【讨论】:

    • @PhongNguyen ', '.join(set(x.tolist()))
    猜你喜欢
    • 2020-09-16
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 2018-05-17
    • 2018-12-19
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多