Ho la seguente dataframe:Come estrarre i valori di tupla nel dataframe di panda per l'uso di matplotlib?
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
x = np.arange(10)
x = np.concatenate((x,x))
y = []
for i in range(2):
y.append(np.random.random_integers(0,10,20))
d = {'A': [(x[i], y[0][i]) for i in range(20)],
'B': [(x[i], y[1][i]) for i in range(20)]}
df = pd.DataFrame(d, index = list('aaaaaaaaaabbbbbbbbbb'))
df
A B
a (0, 2) (0, 10)
a (1, 0) (1, 8)
a (2, 3) (2, 8)
a (3, 7) (3, 8)
a (4, 8) (4, 10)
a (5, 2) (5, 0)
a (6, 1) (6, 4)
a (7, 3) (7, 9)
a (8, 4) (8, 4)
a (9, 4) (9, 10)
b (0, 0) (0, 3)
b (1, 2) (1, 10)
b (2, 8) (2, 3)
b (3, 1) (3, 7)
b (4, 6) (4, 1)
b (5, 8) (5, 3)
b (6, 1) (6, 4)
b (7, 1) (7, 1)
b (8, 2) (8, 7)
b (9, 9) (9, 3)
Come faccio a fare le seguenti trame?
Il grafico 1 è sulla colonna 'A', 2 righe (una riga per indice = a, l'altra per indice = b), i valori x sono i primi elementi delle tuple. I valori y sono i 2 elementi della tupla.
Plot 2 è in column'B', il resto è lo stesso grafico 1.
io non riesco a capire come posso estrarre i valori dai tuple nel dataframe.
Inoltre, il gruppo sarà utile in questo caso?
In realtà, ho circa mille colonne di dati, 5 gruppi, ogni gruppo ~ 500 righe. Quindi sto cercando un modo rapido per risolvere questo (dimensioni dataframe ~ 2500 x 1000)
Grazie mille
Potrebbe essere necessario smanettare un po ', ma qualcosa di simile 'np.rollaxis (np.vstack (df.values.flatten()) .reshape (2, 20, 2), 2) 'puoi ottenere un array 3D che puoi facilmente indicizzare in modo da specificare esattamente i dati che vuoi tracciare (e possibilmente, puoi ottenere quella linea un po 'più breve e più leggibile anche). – Evert