Python 如何使用pandas重新格式化数据帧?
我有以下数据帧:Python 如何使用pandas重新格式化数据帧?,python,pandas,Python,Pandas,我有以下数据帧: 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'])
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'])
我想重新格式化数据框,以便名称、主题和等级都位于各自的列中,如下所示:
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'])
您好,您可以使用以下说明:
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'})
到目前为止,你尝试过什么?我尝试过融化数据帧,但没有效果-真的不知道如何解决这个问题。改为试试这个
df=df.loc[df['Subject Grade']!=“Student Name”]
(它可能与报价的一个坏副本有关)