Использование pd.pivot_table
:
df1 = df.pivot_table(values=['Count'], index=['ID', 'Location'], columns=['Value'])
выход
Count
Value 5 6
ID Location
1 X 10 13
Вы можете reset_index()
, чтобы привести его к ожидаемой форме вывода ОП -
df1.reset_index()
ID Location Count
Value 5 6
0 1 X 10 13