Mam następujący dataframe:Jak wyodrębnić wartości krotek w ramce danych pandy dla użycia 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)
Jak mogę dokonać następujących działek?
Wykres 1 znajduje się w kolumnie "A", 2 linie (jedna linia dla indeksu = a, druga dla indeksu = b), wartości x są pierwszymi elementami krotek. wartości y są 2. elementami krotki.
Działka 2 jest column'B”, reszta jest taka sama jak działce 1.
nie mogę dowiedzieć się, w jaki sposób można wyodrębnić wartości z krotek w dataframe.
Co więcej, będzie w tym przypadku pomocne?
W rzeczywistości mam około tysiąca kolumn danych, 5 grup, każda grupa ~ 500 wierszy. Więc szukam szybki sposób na rozwiązanie tego (rozmiar dataframe ~ 2500 x 1000)
dzięki dużo
Być może trzeba pobawić się trochę, ale coś takiego jak 'np.rollaxis (np.vstack (df.values.flatten()) .reshape (2, 20, 2), 2) 'może dostarczyć ci tablicę 3D, którą możesz łatwo zindeksować, abyś dokładnie określił dane, które chcesz wydrukować (i ewentualnie, możesz ustawić tę linię nieco krótszą i bardziej czytelną także). – Evert