이 파이썬 코드 :
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()
이 오류 메시지가 발생합니다.
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.
누구든지 위의 깨진 코드에서 문제를 해결하여 오류 메시지가 표시되는 것을 막기 위해 어떻게해야하는지 보여줄 수 있습니까?
편집 : 매트릭스의 내용을 얻기 위해 인쇄 명령을 수행했으며 이것이 인쇄 된 것입니다.
UnFilteredDuringExSummaryOfMeansArray는 다음과 같습니다.
[['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]]
나에게 5 행 x 13 열 매트릭스처럼 보이지만 다른 데이터가 스크립트를 통해 실행될 때 행 수는 가변적입니다. 내가 추가하는 것과 동일한 데이터로.
편집 2 : 그러나 스크립트에 오류가 발생했습니다. 그래서 나는 당신의 아이디어가 여기서 일어나는 문제를 설명한다고 생각하지 않습니다. 그래도 감사합니다. 다른 아이디어가 있습니까?
편집 3 :
참고로,이 문제 코드 줄을 교체하면 :
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray,dtype=p.float64)[1:,3]
이것을 대신하여 :
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray)[1:,3]
그런 다음 스크립트의 해당 섹션은 오류를 발생시키지 않고 정상적으로 작동하지만이 코드 줄은 줄을 더 아래로 내립니다.
p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max())
이 오류가 발생합니다.
File "mypath\mypythonscript.py", line 3631, in CreateSummaryGraphics
p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max())
TypeError: cannot perform reduce with flexible type
matplotlib에서 ylim을 사용하려면 데이터 유형을 지정해야하지만 데이터 유형을 지정하면이 게시물을 시작한 오류 메시지가 표시됩니다.