यह अजगर कोड एक दृश्य के साथ एक सरणी तत्व की स्थापना:ValueError:
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.
किसी को भी मुझे दिखा सकते हैं इस समस्या को ठीक करने के लिए क्या करना है:
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()
यह त्रुटि संदेश फेंकता ऊपर टूटे हुए कोड में ताकि यह एक त्रुटि संदेश फेंकना बंद कर दे?
संपादित करें: मैं मैट्रिक्स की सामग्री को पाने के लिए एक प्रिंट आदेश किया था, और यह कि यह क्या बाहर मुद्रित है:
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]]
एक तरह लग रहा है मेरे लिए 13 कॉलम मैट्रिक्स द्वारा 5 पंक्ति, हालांकि पंक्तियों की संख्या भिन्न होती है जब स्क्रिप्ट के माध्यम से अलग-अलग डेटा चलाए जाते हैं। इस डेटा के साथ मैं इसमें जोड़ रहा हूं।
EDIT 2: हालांकि, स्क्रिप्ट एक त्रुटि फेंक रही है। इसलिए मुझे नहीं लगता कि आपका विचार उस समस्या को बताता है जो यहां हो रहा है। फिर भी आपका धन्यवाद। कोई अन्य विचार?
संपादित करें 3:
FYI करें, अगर मैं कोड की इस समस्या को लाइन की जगह:
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray,dtype=p.float64)[1:,3]
इस बजाय साथ :
RRDuringArray = p.array(UnFilteredDuringExSummaryOfMeansArray)[1:,3]
तब के उस अनुभाग स्क्रिप्ट एक त्रुटि फेंकने के बिना ठीक काम करता है, लेकिन फिर कोड की यह पंक्ति आगे लाइन नीचे:
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 उपयोग करने में सक्षम होने के लिए डेटा प्रकार निर्दिष्ट करने की आवश्यकता है, लेकिन अभी तक डेटा को निर्दिष्ट:
p.ylim(.5*RRDuringArray.min(),1.5*RRDuringArray.max())
इस त्रुटि फेंकता प्रकार इस संदेश को शुरू करने वाले त्रुटि संदेश को फेंक रहा है।
धन्यवाद, लेकिन मुझे नहीं लगता कि यह जवाब है। जब मैंने ऊपर की त्रुटि फेंक दी है तो मैंने सरणी की सामग्री को जोड़ा है। और ऐसा लगता है कि यह एक बॉक्स है जब मैं इसे नोटपैड में पेस्ट करता हूं और लाइन से लाइन की जांच करता हूं। कोई अन्य विचार? – MedicalMath
आपके संपादन में मेरी समस्या हल हो गई है। मुझे dtype = ऑब्जेक्ट सेट करने की आवश्यकता थी। आपका बहुत बहुत धन्यवाद। – MedicalMath
इस प्रश्न का पूरी तरह उत्तर दिया गया है। – MedicalMath