Ho un DataFrame panda con 2 indici. (MultiIndex) Voglio estrarre una Numpy Matrix con qualcosa come df.as_matrix(...)
ma questa matrice ha la forma (n_rows, 1)
. Voglio una matrice di forma (n_index1_rows, n_index2_rows, 1)
.Pandas DataFrame con MultiIndex a Numpy Matrix
C'è un modo per utilizzare .groupby(...)
quindi un .values.tolist()
o .as_matrix(...)
per ottenere la forma desiderata?
EDIT: Dati
value
current_date temp_date
1970-01-01 00:00:01.446237485 1970-01-01 00:00:01.446237489 30.497100
1970-01-01 00:00:01.446237494 9.584300
1970-01-01 00:00:01.446237455 10.134200
1970-01-01 00:00:01.446237494 7.803683
1970-01-01 00:00:01.446237400 10.678700
1970-01-01 00:00:01.446237373 9.700000
1970-01-01 00:00:01.446237180 15.000000
1970-01-01 00:00:01.446236961 12.928866
1970-01-01 00:00:01.446237032 10.458800
Questa è una specie di idea:
np.array([np.resize(x.as_matrix(["value"]).copy(), (500, 1)) for (i, x) in df.reset_index("current_date").groupby("current_date")])
Si desidera un array 3D? O solo un array 2D che include l'indice e la colonna? –
array 3D. Tutti i valori in np.array devono essere valori di colonna (non indici) –
Potresti fornire alcuni dati di esempio con l'output desiderato? – Alexander