ValueError: impostazione di un elemento dell’array con una sequenza

| | | |

Questo codice Python:

import numpy as p def firstfunction(): UnFilteredDuringExSummaryOfMeansArray = [] MeanOutputHeader=["TestID","ConditionName","FilterType ","RRMean","HRMean", "dZdtMaxVoltageMean","BZMean","ZXMean","LVETMean","Z0Mean", "StrokeVolumeMean","CardiacOutputMean","VelocityIndexMean"] dataMatrix = BeatByBeatMatrixOfMatrices[column] roughTrimmedMatrix = p.array(dataMatrix[1:,1:17]) trimmedMatrix = p.array(roughTrimmedMatrix,dtype=p.float64) #ERRORE GETTO QUI myMeans = p.mean(trimmedMatrix,axis=0,dtype=p.float64) conditionMeansArray = [TestID,testCondition,"UnfilteredBefore",myMeans[3], myMeans[4], myMeans[6], myMeans[9], myMeans[10], myMeans[11], myMeans[12], myMeans[13] , myMeans[14], myMeans[15]] UnFilteredDuringExSummaryOfMeansArray.append(conditionMeansArray) secondfunction(UnFilteredDuringExSummaryOfMeansArray) return def secondfunction(UnFilteredDuringExSummaryOfMeansArray): RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray,d type=p.float64)[1:,3] return firstfunction() 

Lancia questo messaggio di errore:

File "mypathmypythonscript.py", riga 3484, in secondfunction RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray,dtype=p.float64)[1:,3] ValueError: impostazione di un elemento dell'array con una sequenza. 

Qualcuno può mostrarmi cosa fare per risolvere il problema nel codice rotto sopra in modo che smetta di generare un messaggio di errore?


EDIT : Ho eseguito un comando di stampa per ottenere il contenuto della matrice, e questo è ciò che è stato stampato:

UnFilteredDuringExSummaryOfMeansArray is:

[["TestID ", "ConditionName", "FilterType", "RRMean", "HRMean", "dZdtMaxVoltageMean", "BZMean", "ZXMean", "LVETMean", "Z0Mean", "StrokeVolumeMean", "CardiacOutputMean", "VelocityIndexMean"] , [u "HF101710", "PreEx10SecondsBEFORE", "UnfilteredBefore", ,90670000000000006, 66,257731979420001, 1,8305673000000002, ,11750000000000001, ,15120546389880002, ,26870546389879996, 27,628261216480002, 86,944190346160013, 5,767261352345999, ,066259118585869997], [u "HF101710", "25W10SecondsBEFORE", "UnfilteredBefore", 0.68478571428571422, 87.7278872069785788720697857887206978565, 2.2965444125714285, 0.099642857142857144, 0.149524765498857144, 0.149524765498857144, 0.149524765498857114, 0.249524765498857114, 0.249524765498857115, 0,2491676226416485715, 0.24916762264164286, 27.010483303721429, 103.52373365524, 9.06 82762747642869, ,085022572648242867], [u "HF101710", "50W10SecondsBEFORE", "UnfilteredBefore", ,54188235294117659, 110,74841107829413, 2,6719262705882354, ,077705882352917643, ,15051306356552943, ,2282189459185294, 26,768787504858825, 111,22827075238826, 12,329456404418824, ,099814258468417641], [u "HF101710", "75W10SecondsBEFORE", "UnfilteredBefore", ,4561904761904762, 131,52996981880955, 3,1818159523809522, ,074714285714290493, ,13459344175047619, ,20930772746485715, 26,391156337028569, 123,27387909873812, 16,214243779323812, ,1205685359981619]]  

appare come una matrice 5 righe da 13 colonna a me, anche se la il numero di righe è variabile quando vengono eseguiti dati diversi tramite lo script. Con gli stessi dati che sto aggiungendo in questo.

EDIT 2: Tuttavia, lo script sta generando un errore. Quindi non credo che la tua idea spieghi il problema che sta accadendo qui. Grazie comunque. Qualche altra idea?


EDIT 3:

Cordiali saluti, se sostituisco questa riga di codice problematica:

 RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray,dtype=p.float64)[1:,3] 

con questo invece:

 RRDuringArray = p .array(UnFilteredDuringExSummaryOfMeansArray)[1:,3] 

Quindi quella sezione dello script funziona bene senza generare un errore, ma poi questa riga di codice più in basso:

p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max()) 

Genera questo errore:

File "mypathmypythonscript.py", riga 3631, in CreateSummaryGraphics p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max()) TypeError: impossibile eseguire la riduzione con tipo flessibile 

Quindi puoi vedere che devo specificare il tipo di dati per poter usare ylim in matplotlib, ma tuttavia specificare il tipo di dati genera il messaggio di errore che ha avviato questo post.