Een Pandas DataFrame maken van een Numpy array: Hoe specificeer ik de index kolom en kolomkoppen?
Ik heb een Numpy array bestaande uit een lijst van lijsten, die een tweedimensionale array voorstelt met rij-labels en kolomnamen, zoals hieronder weergegeven:
data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]])
Ik wil dat het resulterende DataFrame Row1 en Row2 als indexwaarden heeft, en Col1, Col2 als kopwaarden
Ik kan de index als volgt specificeren:
df = pd.DataFrame(data,index=data[:,0]),
maar ik weet niet zeker hoe ik de kolomkoppen het beste kan toewijzen.
229
3
Je moet
data
,index
enkolommen
opgeven bijDataFrame
constructor, zoals in:edit: zoals in de opmerking van @joris, moet je misschien hierboven veranderen in
np.int_(data[1:,1:])
om het juiste datatype te hebben.Hier is een gemakkelijk te begrijpen oplossing
Ik ben het met Joris eens; het lijkt erop dat je dit anders zou moeten doen, zoals met numpy record arrays. Als je "option 2" uit dit geweldige antwoord aanpast, zou je het als volgt kunnen doen: