Вам следует предварительно обработать данные, чтобы они соответствовали ожидаемому формату. Попробуйте
#create example dataframe
import pandas as pd
ids = [1,1,2,2,3]
kurs= [1,2,3,1,1]
grade=[1,1,2,2,1]
df=pd.DataFrame.from_dict({'id':ids, 'kurs':kurs, 'grade':grade})
# make it in into the expected format
df_properly = pd.crosstab(df['id'],[df['kurs'],df['grade']])