首页 > 解决方案 > 根据单元格内容组合来自不同行的数据,并使用 pandas 和 python 根据单元格值创建新列

问题描述

我在 csv 文件中有数据,其中每一行都有一个名称、一个水果和与水果相关的数量。我想要的是将来自不同行的数据组合到一行中,其中与某个名称相关的水果的所有数量都在一行之下。

我很难找到从水果列中读取所有数据并将这些水果值转换为单独行的正确方法。

此外,必须将空值转换为零(但这可能很容易做到)。

我正在使用 python 和 pandas 数据框,但我对编码和 pandas 还很陌生,所以我对此并不熟悉。

所以这是我拥有的数据的一个例子。

name, fruit,     amount
Mike, Banana,    2
Mike, Kiwi,      3
Anna, Apple,     10
Anna, Banana,    20
Anna, Pineapple, 40
Bert, Pineapple, 100

这是我想要的格式:

name, Banana, Kiwi, Apple, Pineapple
Mike, 2,      3,    0,     0
Anna, 20,     0,    10,    40
Bert, 0,      0,    0,     100

标签: pythonpandaspandas-groupby

解决方案


当您想要重塑数据框时,请尝试使用数据透视表。

df.pivot(index='name', columns='fruit', values='amount')

推荐阅读