对 pandas 数据框列执行多项转换

Perform multiple transformations on pandas dataframe columns

我有一个 DataFrame 如下:

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

我使用 Python 2.7 或 3.6 都可以

您似乎想要 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        |
+------------+---------+-----------+