Kode Python ini:
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()
Lemparkan pesan kesalahan ini:
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.
Adakah yang bisa menunjukkan kepada saya apa yang harus dilakukan untuk memperbaiki masalah pada kode yang rusak di atas sehingga berhenti membuang pesan kesalahan?
EDIT: Saya melakukan perintah cetak untuk mendapatkan isi dari matriks, dan inilah yang dicetak:
UnFilteredDuringExSummaryOfMeansArray adalah:
[['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]]
Sepertinya 5 baris dengan 13 kolom matriks bagi saya, meskipun jumlah baris adalah variabel ketika data berbeda dijalankan melalui skrip. Dengan data yang sama yang saya tambahkan ini.
EDIT 2 : Namun, skrip tersebut membuat kesalahan. Jadi saya tidak berpikir bahwa ide Anda menjelaskan masalah yang terjadi di sini. Terima kasih. Ada ide lain?
EDIT 3:
FYI, jika saya mengganti baris kode masalah ini:
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray,dtype=p.float64)[1:,3]
dengan ini sebagai gantinya:
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray)[1:,3]
Kemudian bagian skrip itu berfungsi dengan baik tanpa menimbulkan kesalahan, tetapi kemudian baris kode ini semakin jauh ke bawah:
p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max())
Lemparkan kesalahan ini:
File "mypath\mypythonscript.py", line 3631, in CreateSummaryGraphics
p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max())
TypeError: cannot perform reduce with flexible type
Jadi Anda dapat melihat bahwa saya perlu menentukan tipe data agar dapat menggunakan ylim di matplotlib, tetapi belum menentukan tipe data melemparkan pesan kesalahan yang memprakarsai posting ini.