मैं पाइथन में मैटलैब डेटा फ़ाइल लोड करने के लिए scipy's loadmat
फ़ंक्शन का उपयोग कर रहा हूं।numpy ndarray के तत्वों का उपयोग कैसे करें?
from scipy.io import loadmat
data = loadmat('data.mat')
fields = data['field']
fields
के प्रकार numpy.ndarray
है:
print 'fields type={}'.format(type(fields))
print 'fields dtype={}'.format(fields.dtype)
print 'fields shape={}'.format(fields.shape)
fields type=<type 'numpy.ndarray'> fields dtype=object fields shape=(5,)
मैं nditer
का उपयोग कर सरणी पर पुनरावृति:
for x in np.nditer(fields, flags=['refs_ok']):
print 'x={}'.format(x)
print 'x type={}'.format(type(x))
print 'x dtype={}'.format(x.dtype)
print 'x shape={}'.format(x.shape)
break
x=[u'ACE'] x type=<type 'numpy.ndarray'> x dtype=object x shape=()
IndexError:
अगर मैं x
के पहले तत्व तक पहुँचने का प्रयास मैं एक IndexError
:
x[0]
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-102-8c374ae22096> in <module>() 17 print 'type={}'.format(type(x)) 18 print 'dtype={}'.format(x.dtype) ---> 19 x[0] 20 break 21 IndexError: too many indices for array
सवाल:
- कैसे आते हैं, अगर
type(x)
रिटर्नnump.ndarray
यह "सरणी के लिए बहुत सारे सूचकांक" कहता है? - मैं
x
की सामग्री को स्ट्रिंग में कैसे निकाल सकता हूं?
यहाँ संस्करणों मैं उपयोग कर रहा हूँ कर रहे हैं:
print 'python version: {}'.format(sys.version)
print 'numpy version: {}'.format(numpy.__version__)
print 'scipy version: {}'.format(scipy.__version__)
python version: 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] numpy version: 1.11.0 scipy version: 0.17.1
क्या आप 'x.shape' प्रिंट कर सकते हैं? –
@C_Z_ - 'x.shape' को शामिल करने के लिए प्रश्न को अपडेट किया गया, जो'() ' –
देता है यह 0 डी सरणी है, जिसे आपको 0 तत्व टुपल, 'x [()]' के साथ अनुक्रमित करना होगा। मेरा जवाब देखें – hpaulj