Este Python:ValueError: Configuración de un elemento de matriz con una secuencia
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) #ERROR THROWN HERE
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,dtype=p.float64)[1:,3]
return
firstfunction()
lanza este mensaje de error:
File "mypath\mypythonscript.py", line 3484, in secondfunction
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray,dtype=p.float64)[1:,3]
ValueError: setting an array element with a sequence.
¿Alguien puede mostrar qué hacer para solucionar el problema en el código roto arriba para que deje de arrojar un mensaje de error?
EDIT: hice un comando de impresión para obtener el contenido de la matriz, y esto es lo que se imprime:
UnFilteredDuringExSummaryOfMeansArray es:
[['TestID', 'ConditionName', 'FilterType', 'RRMean', 'HRMean', 'dZdtMaxVoltageMean', 'BZMean', 'ZXMean', 'LVETMean', 'Z0Mean', 'StrokeVolumeMean', 'CardiacOutputMean', 'VelocityIndexMean'],
[u'HF101710', 'PreEx10SecondsBEFORE', 'UnfilteredBefore', 0.90670000000000006, 66.257731979420001, 1.8305673000000002, 0.11750000000000001, 0.15120546389880002, 0.26870546389879996, 27.628261216480002, 86.944190346160013, 5.767261352345999, 0.066259118585869997],
[u'HF101710', '25W10SecondsBEFORE', 'UnfilteredBefore', 0.68478571428571422, 87.727887206978565, 2.2965444125714285, 0.099642857142857144, 0.14952476549885715, 0.24916762264164286, 27.010483303721429, 103.5237336525, 9.0682762747642869, 0.085022572648242867],
[u'HF101710', '50W10SecondsBEFORE', 'UnfilteredBefore', 0.54188235294117659, 110.74841107829413, 2.6719262705882354, 0.077705882352917643, 0.15051306356552943, 0.2282189459185294, 26.768787504858825, 111.22827075238826, 12.329456404418824, 0.099814258468417641],
[u'HF101710', '75W10SecondsBEFORE', 'UnfilteredBefore', 0.4561904761904762, 131.52996981880955, 3.1818159523809522, 0.074714285714290493, 0.13459344175047619, 0.20930772746485715, 26.391156337028569, 123.27387909873812, 16.214243779323812, 0.1205685359981619]]
Parece que una Matriz de columna de 5 filas por 13, aunque el número de filas es variable cuando se ejecutan datos diferentes a través del script. Con esta misma información que estoy agregando en esto.
EDIT 2: Sin embargo, el guión es tirar un error. Entonces, no creo que su idea explique el problema que está sucediendo aquí. Gracias de cualquier forma. ¿Alguna otra idea?
Datos 3:
FYI, si reemplazo esta línea problema de código:
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray,dtype=p.float64)[1:,3]
con este lugar:
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray)[1:,3]
Entonces esa sección de la la secuencia de comandos funciona bien sin arrojar un error, pero luego esta línea de código abajo de la línea:
p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max())
Lanza este error:
File "mypath\mypythonscript.py", line 3631, in CreateSummaryGraphics
p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max())
TypeError: cannot perform reduce with flexible type
para que pueda ver lo que necesito para especificar el tipo de datos con el fin de poder utilizar ylim en matplotlib, pero aún especificando los datos tipo está arrojando el mensaje de error que inició esta publicación.
Gracias, pero no creo que esa sea la respuesta. He agregado el contenido de la matriz cuando arroja el error anterior. Y me parece que es un cuadro cuando lo pego en el bloc de notas y lo examino línea por línea. ¿Alguna otra idea? – MedicalMath
Su edición parece haber resuelto mi problema. Necesitaba establecer el dtype = objeto. Muchas gracias. – MedicalMath
Esta pregunta ha sido completamente respondida. – MedicalMath