के लिए बहुत सारे सूचकांक मुझे पता है कि इन धागे का एक टन है, लेकिन उनमें से सभी 3x3 matrices और उस तरह की चीजों के बहुत सरल मामलों के लिए हैं और समाधान मेरी स्थिति पर भी लागू नहीं होते हैं। तो मैं जी बनाम एल 1 ग्राफ करने की कोशिश कर रहा हूं (यह ग्यारह नहीं है, लेकिन एक एल 1)। डेटा उस फ़ाइल में है जिसे मैंने एक्सेल फ़ाइल से लोड किया था। एक्सेल फ़ाइल 14x250 है इसलिए 14 तर्क हैं, जिनमें प्रत्येक 250 डेटा पॉइंट हैं। मेरे पास एक और उपयोगकर्ता था (ह्यूग बॉवेलवेल के लिए चिल्लाओ!) मेरे कोड में एक त्रुटि के साथ मेरी मदद करें, लेकिन अब एक और त्रुटि सामने आई है।इंडेक्स त्रुटि: सरणी
तो यहाँप्रश्न में कोड है:
# format for CSV file:
header = ['l1', 'l2', 'l3', 'l4', 'l5', 'EI',
'S', 'P_right', 'P1_0', 'P3_0',
'w_left', 'w_right', 'G_left', 'G_right']
def loadfile(filename, skip=None, *args):
skip = set(skip or [])
with open(filename, *args) as f:
cr = csv.reader(f, quoting=csv.QUOTE_NONNUMERIC)
return np.array(row for i,row in enumerate(cr) if i not in skip)
#plot data
outputs_l1 = [loadfile('C:\\Users\\Chris\\Desktop\\Work\\Python Stuff\\BPCROOM - Shingles analysis\\ERR analysis\\l_1 analysis//BS(1) ERR analysis - l_1 - P_3 = {}.csv'.format(p)) for p in p3_arr]
col = {name:i for i,name in enumerate(header)}
fig = plt.figure()
for data,color in zip(outputs_l1, colors):
xs = data[:, col["l1" ]]
gl = data[:, col["G_left" ]] * 1000.0 # column 12
gr = data[:, col["G_right"]] * 1000.0 # column 13
plt.plot(xs, gl, color + "-", gr, color + "--")
for output, col in zip(outputs_l1, colors):
plt.plot(output[:,0], output[:,11]*1E3, col+'--')
plt.ticklabel_format(axis='both', style='plain', scilimits=(-1,1))
plt.xlabel('$l1 (m)$')
plt.ylabel('G $(J/m^2) * 10^{-3}$')
plt.xlim(xmin=.2)
plt.ylim(ymax=2, ymin=0)
plt.subplots_adjust(top=0.8, bottom=0.15, right=0.7)
पूरे कार्यक्रम चलाने के बाद, मैं त्रुटि संदेश प्राप्त:
Traceback (most recent call last):
File "C:/Users/Chris/Desktop/Work/Python Stuff/New Stuff from Brenday 8 26 2014/CD_ssa_plot(2).py", line 115, in <module>
xs = data[:, col["l1" ]]
IndexError: too many indices for array
और इससे पहले कि मैं उस समस्या में पड़ गए, मैं एक और को शामिल किया था उपर्युक्त त्रुटि संदेश के नीचे की रेखा नीचे दी गई है:
Traceback (most recent call last): File "FILE", line 119, in <module>
gl = data[:, col["G_left" ]] * 1000.0 # column 12
IndexError: index 12 is out of bounds for axis 1 with size 12
मैं पहले समझता हूं त्रुटि, लेकिन मुझे बस इसे ठीक करने में समस्याएं आ रही हैं। दूसरी त्रुटि हालांकि मेरे लिए भ्रमित है। मेरा मालिक वास्तव में मेरी गर्दन को सांस ले रहा है, इसलिए किसी भी मदद की सराहना की जाएगी!
सरणी शून्य आधारित हैं, 12 तत्व सरणी –
में कोई अनुक्रमणिका 12 नहीं है, क्या आपने डेटा के लिए 'प्रिंट डेटा', ज़िप (outputs_l1, रंग) में रंग डालने का प्रयास किया है: यह देखने के लिए कि डेटा की प्रत्येक पंक्ति क्या दिखती है पसंद? ऐसा लगता है कि इसे जिस तरह से आप उम्मीद करते हैं उसमें प्रारूपित नहीं किया जा सकता है (आपकी धारणा यह है कि यह 14 तत्वों की सरणी होगी, ठीक है? ऐसा लगता है कि केवल 12 तत्व हैं) – zehnpaard
जब मैं ' प्रिंट डेटा 'या' प्रिंट outputs_l1 'यह कहता है कि वे अमान्य वाक्यविन्यास हैं। और 14 तर्क हैं इसलिए अंतिम दो # 12 और # 13 होने जा रहे हैं, जो मैं ग्राफ के लिए बुला रहा हूं। और आप ऐसे किसी भी उदाहरण कहां देखते हैं जहां केवल 12 हैं? यह मेरी समस्या थी इससे पहले और मैंने सोचा कि मैंने इसे ठीक किया है, लेकिन शायद मुझे कुछ याद आया हो सकता है – Chris