python - Pandas - 转置一列

标签 python pandas dataframe

我在对 pandas 使用转置时遇到困难。

我有以下 df:

date         name    quantity
1/1/2018     A       5
1/1/2018     B       6
1/1/2018     C       7
1/2/2018     A       9
1/2/2018     B       8
1/2/2018     C       6

我最终想为每个日期的所有名称及其数量创建成对关联。为此,我试图首先从这个 df 创建以下输出:

 date       A    B    C
 1/1/2018   5    6    7
 1/2/2018   9    8    6

转置对我来说很难,因为我可以获得重复的列标题,但我也不想通过先删除它们来丢失任何数据。我觉得答案可能是我并没有真正使用的 Pandas 实用程序,我可能正在转置隧道...

最佳答案

由于您没有执行聚合,pd.DataFrame.pivot应该优先于 groupby/pivot_table:

res = df.pivot(index='date', columns='name', values='quantity')

print(res)

name      A  B  C
date             
1/1/2018  5  6  7
1/2/2018  9  8  6

如果您愿意,可以使用 reset_indexdate 提升为一列。

关于python - Pandas - 转置一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52541982/

相关文章:

python - QTcpSocket read 未发出

python - 在 Pandas 数据框中插入列

python - 属性错误: 'list' object has no attribute 'dropna' (outlier)

pandas - 如何通过数据框中的数据计算频率?

python - OpenCV - 最佳图像识别算法

python - 元素不再附加到 DOM 和超时异常

python - 在没有任何参数的情况下调用脚本时使用 Python argparse 显示帮助消息

python - 如何迭代 pandas 数据帧的集合?

python - 加入 2 个具有不同列数的 Pandas 数据框

python - 检查一对值是否在 Pandas 的一对列中