فرهنگ اسکندری
فرهنگ اسکندری
خواندن ۳ دقیقه·۴ سال پیش

تمرین برای کتابختانه Numpy

تمرین با کتابخانه numpy
تمرین با کتابخانه numpy

در قسمت پاسخ به سوالات در صورت لزوم مثال آورده شده است.

تمرین کتابخانه Numpy

  1. یک بردار( آرایه یک بعدی) خالی با اندازه 10 ایجاد کنید( منظور از بردار خالی برداری است که تمام مقادیر آن صفر باشد)
  2. چطور متوجه بشویم که آرایه یا ماتریس چه مقدار حافظه اشغال میکند؟
  3. یک بردار خالی با اندازه 10 ایجاد کنید و سپس عنصر پنجم آن را برابر با یک قرار دهید.
  4. یک بردار ایجاد کنید که عناصر آن از 10 تا 49 باشد.
  5. یک بردار ایجاد کنید و سپس آن را معکوس کنید.
  6. یک ماتریس 3*3 ایجاد کنید(از اعداد 0 تا 8)
  7. از یک لیست( آرایه یا بردار)، نشان دهید که کدام عناصر(خانه) خالی یا صفر نیستند.
  8. یک ماتریس همانی( ماتریسی که قطر اصلی آن 1 و بقیه صفر هستند) 3*3 ایجاد کنید.
  9. نوع داده ای ماتریس تمرین قبل را به عدد صحیح(int) تبدیل کنید.
  10. یک ماتریس 3*3 با اعداد تصادفی ایجاد کنید.



پاسخ تمرینات بخش اول

پاسخ 1:

z = np.zeros(10)

پاسخ 2:

z = np.zeros((10, 10))
print((z.size * z.itemsize), 'byte')
>>> 800 byte

پاسخ 3:

z = np.zeros(10)
z[4] = 1

پاسخ 4:

z = np.arange(10, 50)

پاسخ 5:

z = np.arange(50)
z = z[::-1]

پاسخ 6:

z = np.arange(9).reshape(3, 3)

پاسخ 7:

nz = np.nonzero( [1, 2, 0, 0, 4, 0] )
>>> array ( ( [0, 1, 4] ) )

عنصر های 0 و 1 و 4 مقدارشان صفر نیست.


پاسخ 8:

z = np.eye(3)

پاسخ 9:

z = np.eye(3, dtype = int)

پاسخ 10:

z = np.random.random((3, 3))



  1. یک ماتریس 10*10 با اعداد تصادفی ایجاد کنید و سپس کمترین(minimum) و بیشترین(maximum) مقدار ماتریس را نمایش دهید.
  2. یک بردار با اعداد تصادفی که 30 عنصر داشته باشد ایجاد کنید و سپس میانگین آن بردار را نمایش دهید.
  3. یک ماتریس 2 بعدی ایجاد کنید که مقدار عناصرِ روی حاشیه(border) ماتریس عددِ 1 باشند و عناصر داخلی همگی صفر.
  4. چگونه یک حاشیه(border) به اطراف ماتریس اضافه کنیم؟
  5. یک ماتریس ایجاد کنید که قطر اصلی آن ار اعداد 1 و 2 و 3 و 4 تشکیل شده باشد.
  6. ماتریسی ایجاد کنید که اعداد 1 و 2 و 3 و 4 زیر قطر اصلی قرار بگیرند.
  7. یک ماتریس 8 * 8 به شکل شطرنج ایجاد کنید.
  8. تمرین قبل را با تابع tile انجام دهید.
  9. یک بردار با مقادیر از 0 تا 10 ایجاد کنید، سپس اعدادی که بین 3 و 8 قرار دارند را منفی کنید.
  10. چگونه مقادیر مشترک دو آرایه را پیدا کنیم؟




پاسخ تمرینات بخش دوم

پاسخ 1:

z = np.random.random((10, 10))
zmin, zmax = z.min(), z.max()
print(zmin, zmax)

پاسخ 2:

z = np.random.random(30)
m = z.mean()
print(m)

پاسخ 3:

z = np.ones((5, 5))
z[1:-1, 1:-1] = 0
print(z)

پاسخ 4:

z = np.ones((5, 5))
z = np.pad(z, pad_width=1, mode='constant', constant_values=0)
print(z)

پاسخ 5:

z = np.diag(np.arange(1, 5))
print(z)
or
z = np.diag( [1, 2, 3, 4] )
print(z)

پاسخ 6:

z = np.diag(np.arange(1, 5), k = 1)
print(z)

پاسخ 7:

z = np.zeros((8, 8), dtype = int)
z[1::2, ::2] = 1
z[::2, 1::2] = 1
print(z)

پاسخ 8:

z = np.tile(np.array( [ [0, 1],[1, 0] ], (4, 4))
print(z)

پاسخ 9:

Z = np.arange(11)
Z[(3 < Z) & (Z <= 8)] *= -1
print(Z)

پاسخ 10:

Z1 = np.random.randint(0,10,10)
Z2 = np.random.randint(0,10,10)
print(np.intersect1d(Z1,Z2))



1- یک ماتریس 5 * 5 ایجاد کنید که هر طر آن از 0 تا 4 باشد.

2- یک بردار 10 عنصری با اعداد تصادفی ایجاد کنید و آن را مرتب کنید.

3- کدی بنویسید که دا آرایه را مقایسه کند و اگر برابر بودند کلمه 'equal' و اگر برابر نبودند کلمه 'unequal' را
به نمایش دهد.

4- یک بردار با تعداد عناصر 10 ایجاد کنید و به جای بزرگیترین مقدارِ آن بردار عدد 0 را قرار دهید.



پاسخ تمرینات بخش سوم

پاسخ 1:

Z = np.zeros((5,5))
Z += np.arange(5)
print(Z)

پاسخ 2:

Z = np.random.random(10)
Z.sort()
print(Z)

پاسخ 3:

A = np.random.randint(0,2,5)
B = np.random.randint(0,2,5)
if np.allclose(A,B):
print('equal')
else:
print('unequal')

پاسخ 4:

Z = np.random.random(10)
Z[Z.argmax()] = 0
print(Z)


عاشق دنیای اعدادم و الآن دارم مسیر دیتاساینس رو پیش میرم?
شاید از این پست‌ها خوشتان بیاید