У меня есть такой фрейм данных
import pandas as pd
test = pd.DataFrame(data={"IDX": [0,0,0,1,1,2],
"VAL": [27,5,13,27,24,13]})
IDX VAL
0 0 27
1 0 5
2 0 13
3 1 27
4 1 24
5 2 13
И я хочу распространить его так, чтобы IDX стал столбцами, VAL стал именами строк, а фактические значения были просто индикаторами того, отсутствует или нет значение,вот так:
out = pd.DataFrame(data={"0": [1, 1, 0, 1],
"1": [0, 0, 1, 1],
"2": [0, 1, 0, 0]}, index=[5, 13, 24, 27])
0 1 2
5 1 0 0
13 1 0 1
24 0 1 0
27 1 1 0
Есть ли способ сделать это эффективно без циклов for?