首页 > 解决方案 > 使用包含重复项的索引重塑数据框

问题描述

晚上好。我需要帮助解决 Python 中的问题以重塑数据框。

我正在尝试重塑这样的数据框:

df

ID 问题 回答
1 一个
1 b bb
2 一个
2 b bb
3 一个
3 b bb

为了这:

df_result

ID 一个 b
1 bb
2
3 bb bb

我试过:

df.pivot(index='id', columns = 'question', values = 'answer')

但返回:索引包含重复的条目,无法重塑。

我尝试使用pandas.meltand pandas.pivot_table,但都出错了。

我该如何解决这个问题?

标签: pythonpandasdataframereshape

解决方案


您错过了aggfunc参数,pivot_table但您必须选择如何处理重复值。下面,我选择first

>>> df.pivot_table(index='id', columns='question', values='answer', aggfunc='first')

question   a   b
id
1         aa  bb
2         aa  bb
3         aa  bb

推荐阅读