from pandas import DataFrame
import pandas as pd
dict = [
{
"Student": [{"Mark": 90, "Subject": "aaa"},
{"Mark": 100, "Subject": "bbb"},
{"Mark": 95, "Subject": "ccc"},
],
"Name": "Tom"
},
{
"Student": [{"Mark": 100, "Subject": "aaa"},
{"Mark": 90, "Subject": "bbb"},
{"Mark": 96, "Subject": "ccc"},
{"Mark": 95, "Subject": "fff"},
],
"Name": "Amelia"
}
]
rows = []
for data in dict:
data_row = data['Student']
nm = data['Name']
for row in data_row:
row['Name']= nm
rows.append(row)
df = pd.DataFrame(rows)
df = df.pivot_table(index ='Name', columns =['Subject'], values =['Mark']).reset_index()
df.columns =['Name', 'c++', 'python', 'nodejs', 'php']
print(df);
'''
run:
Name c++ python nodejs php
0 Amelia 100.0 90.0 96.0 95.0
1 Tom 90.0 100.0 95.0 NaN
'''