Python 使用字符串数据重塑数据帧-无类似答案

Python 使用字符串数据重塑数据帧-无类似答案,python,pandas,reshape,Python,Pandas,Reshape,此格式的给定数据帧: Name Attribute Answer Joe One Yes Joe Two No Joe Two More info Mary One Left undone Mary Three No response Mary One Too late 我尝试了pi

此格式的给定数据帧:

Name      Attribute      Answer
Joe       One            Yes
Joe       Two            No
Joe       Two            More info
Mary      One            Left undone
Mary      Three          No response
Mary      One            Too late
我尝试了pivot、pivotable、unstack等版本,从长格式到宽格式“未融合”这些数据。我寻求的结果是:

Name       One                        Two                Three
Joe        Yes                        No, More info      Null
Mary       Left undone, Too late      Null               No response
本质上,我需要将属性列中的所有唯一值设置为列标题,然后将每个唯一命名人员的属性列中的值设置为答案列中的值

我肯定有一些重塑魔法我还没有充分拼凑起来,但典型的方法和阅读20多个“从长到宽重塑数据”的问题都没有切中要害

我在大约两个小时前提出了这个问题,有人关闭了它,声称它已经得到了回答。Welp,仔细检查了每个假设的答案,没有一个成功。所以,我的问题还没有得到回答。仅供参考。

尝试:

df.groupby(['Name','Attribute'])['Answer'].agg(lambda x: ', '.join(x)).unstack().reset_index()
输出:

Attribute  Name                    One        Three            Two
0           Joe                    Yes          NaN  No, More info
1          Mary  Left undone, Too late  No response            NaN

df.set_index(['Name','Attribute'])['Answer'].unstack().reset_index()
感谢您的及时回复。复制/粘贴此代码并引发此错误:“索引包含重复条目,无法重塑”
df.groupby(['Name','Attribute'])['Answer'].first().unstack()
?@ScottBoston您的groupby产品似乎工作得很好。非常感谢@斯科特伯顿我说得太早了。这个问题与上面提到的其他问题不同。在我的df中,有一些行具有相同的名称、相同的属性,但响应不同。我编辑了我最初的问题,以反映这一细微差别。谢谢@Scott Boston。这个集体的例子非常有效。甚至有人要求插入一个“;”而不是逗号,这也很有效。再次感谢!