নম্পি অ্যারের মাত্রা


367

আমি বর্তমানে নম্পি এবং পাইথন শিখার চেষ্টা করছি। নিম্নলিখিত অ্যারে দেওয়া:

import numpy as np
a = np.array([[1,2],[1,2]])

এমন কোনও ফাংশন রয়েছে যা এর দৈর্ঘ্যগুলি প্রদান করে a(ইগা 2 বাই 2 অ্যারে হয়)?

size() 4 ফেরত দেয় এবং এটি খুব বেশি সাহায্য করে না।


26
একটি উপদেশের টুকরো: আপনার "মাত্রা" কে shapeনুমপি-তে বলা হয় । আপনার ক্ষেত্রে ( ndim) ক্ষেত্রে NumPy মাত্রাটি 2 টি বলে । এটি স্বাভাবিক নম্পপি পরিভাষাটি জানার জন্য দরকারী: এটি দস্তাবেজগুলি পড়া সহজ করে তোলে!
এরিক হে লেবিগোট

উত্তর:


498

এটি হ'ল .shape:

ndarray। আকৃতির
অ্যারের মাত্রা টুপল।

এভাবে:

>>> a.shape
(2, 2)

25
দ্রষ্টব্য: ফাংশন-এর চেয়ে অ্যাট্রিবিউটshape হিসাবে আরও সঠিকভাবে বর্ণনা করা যেতে পারে , কারণ এটি ফাংশন-কল সিনট্যাক্স ব্যবহার করে না using
নবার

17
@ নোবার আসলে এটি একটি সম্পত্তি (যা একটি বৈশিষ্ট্য এবং একটি ক্রিয়া উভয়ই সত্যই)
উইম

@ উইম আরও নির্দিষ্টভাবে সম্পত্তি একটি শ্রেণি । শ্রেণীর বৈশিষ্ট্যগুলির ক্ষেত্রে (একটি সম্পত্তি যা আপনি নিজের শ্রেণিতে রেখেছেন) সেগুলি শ্রেণীর বৈশিষ্ট্য হিসাবে প্রকাশিত প্রকারের সম্পত্তি। পাইথনের একটি বৈশিষ্ট্য, বিন্দুটির নীচে নাম
পেড্রো

2
আপনি যদি সত্যিই নিটপিক করতে চান তবে এটি বিবরণী। যদিও এটি propertyনিজেই একটি শ্রেণি, ndarray.shapeকোনও শ্রেণি নয়, এটি সম্পত্তি ধরণের উদাহরণ।
উইম

66

প্রথম:

পাইথন বিশ্বে কনভেনশন দ্বারা, এর শর্টকাট numpyহয় np, তাই:

In [1]: import numpy as np

In [2]: a = np.array([[1,2],[3,4]])

দ্বিতীয়ত:

নম্পি, মাত্রা , অক্ষ / অক্ষ , আকৃতি সম্পর্কিত এবং কখনও কখনও একই ধারণা:

মাত্রা

ইন গণিত / পদার্থবিজ্ঞান , মাত্রা বা মাত্রা অনাড়ম্বরভাবে একটি স্থান যে অবস্থায় উল্লেখ করা প্রয়োজন স্থানাঙ্ক ন্যূনতম নম্বর হিসাবে সংজ্ঞায়িত করা হয়। তবে নম্পি - তে , অলস ডক অনুসারে , এটি অক্ষ / অক্ষ হিসাবে সমান:

নম্পি মাত্রায় অক্ষকে বলা হয়। অক্ষের সংখ্যা র‌্যাঙ্ক is

In [3]: a.ndim  # num of dimensions/axes, *Mathematics definition of dimension*
Out[3]: 2

অক্ষ / অক্ষ

নিম্পিতে সূচকে আনতে নবম স্থানাঙ্ক array। এবং বহুমাত্রিক অ্যারে অক্ষ প্রতি প্রতি সূচক থাকতে পারে।

In [4]: a[1,0]  # to index `a`, we specific 1 at the first axis and 0 at the second axis.
Out[4]: 3  # which results in 3 (locate at the row 1 and column 0, 0-based index)

আকৃতি

প্রতিটি উপলব্ধ অক্ষ বরাবর কতগুলি ডেটা (বা ব্যাপ্তি) বর্ণনা করে।

In [5]: a.shape
Out[5]: (2, 2)  # both the first and second axis have 2 (columns/rows/pages/blocks/...) data

45
import numpy as np   
>>> np.shape(a)
(2,2)

এছাড়াও কাজ করে যদি ইনপুটটি কোনও নম্র অ্যারে না হয় তবে তালিকার একটি তালিকা

>>> a = [[1,2],[1,2]]
>>> np.shape(a)
(2,2)

বা tuples একটি tuple

>>> a = ((1,2),(1,2))
>>> np.shape(a)
(2,2)

np.shapeপ্রথমে তার যুক্তিটিকে একটি অ্যারেতে পরিণত করে যদি এতে আকৃতির বৈশিষ্ট্য না থাকে, এজন্য এটি তালিকায় এবং টিউপল উদাহরণগুলিতে কাজ করে।
hpulj


9

আপনি .ndimমাত্রা জন্য এবং .shapeসঠিক মাত্রা জানতে ব্যবহার করতে পারেন

var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]])

var.ndim
# displays 2

var.shape
# display 6, 2

আপনি .reshapeফাংশন ব্যবহার করে মাত্রা পরিবর্তন করতে পারেন

var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]]).reshape(3,4)

var.ndim
#display 2

var.shape
#display 3, 4

7

shapeপদ্ধতি যা প্রয়োজন aএকটি Numpy ndarray হও। তবে নম্পি খাঁটি পাইথন বস্তুর পুনরাবৃত্ত আকারগুলির গণনা করতে পারে:

np.shape([[1,2],[1,2]])

1

a.shapeএর সীমাবদ্ধ সংস্করণ মাত্র np.info()। এটা দেখ:

import numpy as np
a = np.array([[1,2],[1,2]])
np.info(a)

আউট

class:  ndarray
shape:  (2, 2)
strides:  (8, 4)
itemsize:  4
aligned:  True
contiguous:  True
fortran:  False
data pointer: 0x27509cf0560
byteorder:  little
byteswap:  False
type: int32
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.