简体   繁体   English

如何使用熊猫重新格式化数据框?

[英]How to reformat dataframe using pandas?

I have the following dataframe:我有以下数据框:

data = {'Names':['Abbey','English','Maths','Billy','English','Maths','Charlie','English','Maths'],'Subject Grade':['Student Name',85,91,'Student Name',82,74,'Student Name',83,96]}

df = pd.DataFrame(data, columns = ['Names','Subject Grade'])

I would like to reformat the dataframe in order for the names, subject and grades to all be in their respective columns as follows:我想重新格式化数据框,以便名称、主题和成绩都在各自的列中,如下所示:

data2 = {'Names':['Abbey','Abbey','Billy','Billy','Charlie','Charlie'],'Subject':['English','Maths','English','Maths','English','Maths'],'Grade':[85,91,82,74,83,96]}

df2 = pd.DataFrame(data2, columns = ['Names','Subject','Grade'])

Hi you can use those instructions :嗨,您可以使用这些说明:

  df['name'] = df['Names'].mask(df['Subject Grade'] != "Student Name")
  df['name'] = df['name'].fillna(method='ffill')
  df = df.query('`Subject Grade`!="Student Name"')
  df = df.rename(columns={'Names':'Subject', 'Subject Grade':'Grade', 'name':'Names'})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM