Python 仅对一列使用数据帧转置/熔化/枢轴

Python 仅对一列使用数据帧转置/熔化/枢轴,python,csv,pandas,dataframe,Python,Csv,Pandas,Dataframe,我在熊猫数据框中有这样的数据: 我想把它转换成这样(在一个数据帧中): 我尝试使用df.melt()、df.pivot()和df.T(),但没有成功,因为它们转换了所有列。。。有人知道如何解决这个问题(使用pd Dataframe以外的其他工具也可以,我的数据保存在csv文件中) 我认为您可以使用: 只需一行代码即可完成此操作: df.set_index(['name','group']).unstack() 如果你发布文本而不是文本的图像,那就更好了。谢谢John Zwinck,你是对的

我在熊猫数据框中有这样的数据:

我想把它转换成这样(在一个数据帧中):

我尝试使用df.melt()、df.pivot()和df.T(),但没有成功,因为它们转换了所有列。。。有人知道如何解决这个问题(使用pd Dataframe以外的其他工具也可以,我的数据保存在csv文件中)

我认为您可以使用:


只需一行代码即可完成此操作:

df.set_index(['name','group']).unstack()

如果你发布文本而不是文本的图像,那就更好了。谢谢John Zwinck,你是对的,我下次会考虑到这一点。非常感谢,这对我来说很有用!:)我使用了df.pivot_table()而不是df.pivot(),因为df.pivot()给了我一个重复条目错误。不幸的是,我发现在使用df.pivot()之后,有些名称没有出现。所以我丢失了一些数据。Jezrael你知道这是怎么造成的吗?有趣的是,你能添加样本吗?是的:)我首先打开的csf文件的长度为3375个名称(其中有422个唯一的名称)。然后我使用df.pivot,然后我应该有一个包含422行的表,但是它有413行。。有没有一种简单的方法可以让我知道哪些名字丢失了?如果不保密,是否可以共享您的数据?
df.set_index(['name','group']).unstack()