Import Matlab struct in python panda dataframe

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
neuron
User
Beiträge: 5
Registriert: Dienstag 4. April 2017, 18:54

Hallo zusammen,
Ich habe eine dringende Bitte im Betreff zu Panda dataframes
Ich habe ein 25x1 matlab struct mit 4 Feldern in python importiert und möchte dieses nun unter anderem für machine learing Anwedungen nutzen. Mit meinen feature matrices möchte ich ähnlich arbeiten
[code]a=os.path.join(filepath,'participant1_25.mat')
#print (filepath,a)
data = scio.loadmat(a)
teststruct = data['patientdata1']
mtype = teststruct.dtype
ndata = {n: teststruct[n][:,0] for n in mtype.names}
ndata

pdata = pd.DataFrame(ndata)
print(pdata)][/code]

Allerdings bekomme ich das dataframe dann in folgender form mit dtype= object
Participant_ID PHQ_Binary PHQ_Score Gender
0 [[300]] [[0]] [[2]] [[1]]
1 [[301]] [[0]] [[3]] [[1]]
2 [[306]] [[0]] [[0]] [[0]]
3 [[308]] [[1]] [[22]] [[0]]
4 [[309]] [[1]] [[15]] [[1]]
5 [[311]] [[1]] [[21]] [[0]]
6 [[314]] [[0]] [[1]] [[0]]
7 [[323]] [[0]] [[1]] [[0]]
8 [[329]] [[0]] [[1]] [[1]]
Könnte mir vielleicht jemand sagen wie ich es zB in dtype float umwandeln kann? Ich habe schon ein paar sachen probiert, bis jetzt hat aber nichts wirklich funktioniert
Vielen Dank im Voraus
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Code: Alles auswählen

pdata.astype(float)
neuron
User
Beiträge: 5
Registriert: Dienstag 4. April 2017, 18:54

Vielen, vielen Dank :)
Antworten