Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Panelové údaje (zastarané, ale koncepčne relevantné):
Pandas mal objekt „panela“, ale je zastaraný. Bol to v podstate kontajner pre viacero dátových rámcov. Aj keď to nie je priamo použiteľné, pomáha porozumieť koncepčnému prístupu:Predstavte si, že každý dátový rámec predstavuje plátok pozdĺž jednej dimenzie.
2. Použitie jedného dátového rámca s MultiIndexom:
Toto je najúčinnejšia a najúčinnejšia metóda. Vytvoríte multiindEx pre svoje stĺpce, ktoré predstavujú tretiu dimenziu.
`` `Python
Importovať pandy ako PD
import numpy ako np
data_3d =np.random.rand (2, 3, 4)
polia =[
['A', 'a', 'b', 'b', 'c', 'c'], # vrstva 1
['X', 'y', 'x', 'y', 'x', 'y'] # vrstva 2
]
Treples =List (Zip (*polia))
index =pd.multiindex.from_tuples (Treps, name =['Layer1', 'Layer2'])
data_2d =data_3d.Reshape (2, 6)
df =pd.dataframe (data_2d, index =rozsah (2), stĺpce =index)
tlač (DF)
Print ("\ nAccessing Element v vrstve1 ='a', vrstva2 ='x', riadok 0:")
tlač (df.loc [0, ('a', 'x')]))))))))))))))))))))))))
tlač ("\ naccessing všetky údaje pre vrstvu1 ='a':")
tlač (df.loc [:, 'a'])
#Pripravovanie novej vrstvy (vrstva3):
#NEBEZPEČENSTVO ZA TO
new_data_3d =np.rand.rand (2,3,4,2)
new_data_2d =new_data_3d.reshape (2,12)
polia =[
['A', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b'], # vrstva 1
['X', 'y', 'x', 'y', 'x', 'y', 'x', 'y', 'x', 'y', 'x', 'y'] # vrstva 2
, ['Z1', 'Z1', 'Z1', 'Z1', 'Z1', 'Z1', 'Z1', 'Z1', 'Z1', 'Z1', 'Z1', 'Z1'] # vrstva 3
]
Treples =List (Zip (*polia))
index =pd.multiindex.from_tuples (Treps, názvy =['Layer1', 'Layer2', 'Layer3'])
df_new =pd.dataframe (new_data_2d, index =rozsah (2), stĺpce =index)
Print ("\ ndataframe s novou vrstvou3:")
tlač (df_new)
`` `
3. Použitie slovníka DataFrames:
Je to menej efektívne ako multiindex, ale ponúka väčšiu flexibilitu pre zložité scenáre.
`` `Python
data ={}
pre i v rozsahu (2):
dáta [i] =pd.dataframe (np.random.rand (3, 4))
tlač (údaje [0])
`` `
Výber správneho prístupu:
* multiindex: Najlepšie pre väčšinu prípadov ponúka dobrý výkon a efektívny prístup k údajom, ak je vaša tretia dimenzia relatívne malý až mierny.
* Slovník DataFrames: Lepšie, ak máte vo svojich 3D údajoch výrazne väčší počet „vrstiev“ alebo ak vaše rôzne vrstvy majú veľmi odlišné štruktúry.
Nezabudnite starostlivo zvážiť, ako budete mať prístup a manipulujete s vašimi údajmi, keď sú štruktúrované jedným z týchto spôsobov. Prístup MultiIndex je všeobecne výhodný z dôvodu jeho účinnosti a vstavaným schopnostiam Pandas na prácu s multi-INDEXES. Ak chcete získať veľmi veľké súbory údajov, zvážte použitie Dask alebo VAEX, ktoré sú určené na výpočet mimo jadra.