Como posso transformar este dataframe para imprimi-lo com seaborn (lineplot)? [duplicado]

Sep 04 2020

Tenho um dataframe como o seguinte:

In [0]: df.head()
Out[0]:

    airfield   airplane_cabin   airport_terminal   alcove
0       0.0            0.00              0.00     0.0
1       0.0            0.00              0.01     0.0
2       0.02           0.00              0.00     0.03
3       0.0            0.00              0.00     0.0
4       0.0            0.01              0.00     0.0

, onde cada linha é um quadro de um vídeo contendo as probabilidades de cada uma das classes (tenho mais de 4 classes em problema real e é por isso que elas são tão baixas aqui). O que eu gostaria seria imprimir um lineplot onde eu possa ter os quatro quadros no eixo X e todas as probabilidades originais no eixo Y . Então, gostaria de ter linhas diferentes para cada uma das quatro classes. Algo parecido com a seguinte imagem:

, onde "sinal" seriam todas as diferentes probabilidades únicas; "ponto de tempo" seria o número do quadro; e "evento" seriam as diferentes classes, sendo "stim" e "cue" o que "aeródromo" e "aeroplano_cabin" são em nosso exemplo.

Espero que a pergunta esteja clara e muito obrigado pela ajuda desde já!

melhor,

Respostas

1 perl Sep 04 2020 at 11:42

Não seria apenas:

sns.lineplot(data=df)
plt.xlabel('frame number')
plt.ylabel('probability')

Resultado: