Python 如何按列名分组并联接

Python 如何按列名分组并联接,python,pandas,dataframe,group-by,transpose,Python,Pandas,Dataframe,Group By,Transpose,我收到了一张excel表格,看起来像这样,而且长了很多: 我必须将其导入Access,它绝对需要如下格式: 所以我导入了它: import pandas as pd df=pd.read_excel(r"XXX") df 转置它 df.T 我知道我必须使用: pandas.DataFrame.groupby 由于真实版本中的类别太多,如何在不手动定义每个标题的情况下使用相同名称的groupby标题 编辑:提供图片以供澄清。使用groupby()一种方法是: m=df.groupby('

我收到了一张excel表格,看起来像这样,而且长了很多:

我必须将其导入Access,它绝对需要如下格式:

所以我导入了它:

import pandas as pd
df=pd.read_excel(r"XXX")
df
转置它

df.T
我知道我必须使用:

pandas.DataFrame.groupby
由于真实版本中的类别太多,如何在不手动定义每个标题的情况下使用相同名称的groupby标题

编辑:提供图片以供澄清。

使用
groupby()
一种方法是:

m=df.groupby('CATEGORY')['CHOICE'].apply(list)
n=pd.DataFrame(m.values.tolist()).T
n.columns=m.index
n=n.rename_axis(None,axis=1)
n=n.reindex(df.CATEGORY.unique(),axis=1)

使用
groupby()
的一种方法是:

m=df.groupby('CATEGORY')['CHOICE'].apply(list)
n=pd.DataFrame(m.values.tolist()).T
n.columns=m.index
n=n.rename_axis(None,axis=1)
n=n.reindex(df.CATEGORY.unique(),axis=1)


你能显示预期的输出吗?是的,我很抱歉。我之前尝试过使用ASCII art,但不起作用,所以我插入了一些图片。文本中的数据总是比图像好。您如何将食物与动物和国家匹配?您能显示预期的输出吗?是的,我很抱歉。我之前尝试过使用ASCII art,但不起作用,所以我插入了一些图片。文本中的数据总是比图片好。您如何将食物与动物和国家相匹配?谢谢,您的解决方案绝对有效。我想这是吹毛求疵,但有没有办法保持它的顺序,而不是按字母顺序?谢谢你,你的解决方案绝对有效。我想这是吹毛求疵,但有没有办法保持它的顺序而不是字母顺序?