首页 > 解决方案 > Pandas 如何对数据帧进行转置以获取剩余两列的值

问题描述

有一个带有值的df

name    marks    subject

mark     50       math
mark     75       french
tom      25       english
tom      30       Art
luca     100      math
luca     100      art

如何对数据帧进行转置,使其看起来像这样

name math art french english

mark  50        75  
tom        30         25
luca  100  100

试过:

df.Tdf[['marks','subject']].T

标签: pythonpython-3.xpandasdataframepivot

解决方案


这是一个支点。首先,我们需要规范化主题列,然后我们进行透视。

df['subject'] = df['subject'].str.lower()
df.pivot(index='name', columns='subject', values='marks')

有关更多信息,请参见此处:https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot.html#pandas.DataFrame.pivot


推荐阅读