NumPy அறிமுகம் – ARRAY ATTRIBUTES & ARRAY CREATION ROUTINES

1. NUMPY − ARRAY ATTRIBUTES

1.1. ndarray.shape

shape attribute என்பது NumPy array-இன் அமைப்பை (structure) குறிக்கிறது. இது array-இல் எத்தனை rows மற்றும் columns உள்ளன என்பதை சொல்கிறது.

எந்த ஒரு array-யும் கையாளும்போது, அதன் shape attribute மூலம் array-இன் பரிமாணங்களை (dimensions) அறிந்து கொள்ளலாம். shape attribute-ல் உள்ள values array-இல் உள்ள rows மற்றும் columns எண்ணிக்கையை தருகின்றன.

Input:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print("Shape of array:", arr.shape)

மேலே கொடுக்கப்பட்டுள்ள code-இல், arr என்ற 2D array உருவாக்கப்பட்டுள்ளது. இந்த array-இன் shape attribute-ஐ பயன்படுத்தி array-இன் அமைப்பை அறியலாம்.

அதாவது, இதன் output:

Shape of array: (2, 3)

இந்த array-இல் 2 rows மற்றும் 3 columns உள்ளன என்று பொருள்.

இதன் மூலம், shape attribute ஒரு Numpy array-இன் கட்டமைப்பை (structure) முழுமையாக குறிக்க உதவுகிறது.

1.2. ndarray.ndim

ndim என்பது array-இன் பரிமாணங்களின் எண்ணிக்கையை (number of dimensions) குறிக்கிறது. NumPy array-களின் பரிமாணங்களை புரிந்து கொள்ள இது மிகவும் முக்கியமான attribute ஆகும்.

ஒரு array எத்தனை dimension-களை கொண்டுள்ளது என்பதை ndim attribute-ஐ பயன்படுத்தி எளிதில் அறிய முடியும். இதன் உதவியால், 1D, 2D அல்லது multi-dimensional array என்பதை நம்மால் அறிய முடியும்.

Input:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print("Number of dimensions:", arr.ndim)

மேலே கொடுக்கப்பட்டுள்ள code-இல், arr என்ற 2D array உருவாக்கப்பட்டுள்ளது. இந்த array-இன் ndim attribute-ஐ பயன்படுத்தி array-இன் பரிமாணங்களின் எண்ணிக்கையை (number of dimensions) அறியலாம்.

Output:

Number of dimensions: 2

2 என்று வரும்போது, இந்த array ஒரு 2D array என்று பொருள்.

இதன் மூலம், ndim attribute ஒரு Numpy array-இன் பரிமாணங்களின் எண்ணிக்கையை முழுமையாக அறிய உதவுகிறது.

1.3. numpy.itemsize

itemsize attribute ஒரு element-ஐ represent செய்ய memory-யில் எத்தனை bytes எடுக்கின்றது என்பதை அளிக்கிறது. இது, NumPy array-ல் உள்ள ஒவ்வொரு element-க்கும் memory allocation-ஐ எவ்வளவு எடுக்கும் என்பதை அறிய உதவுகிறது.

Input:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print("Item size of array:", arr.itemsize, "bytes")

இந்த code-இல், arr என்ற 1D array உருவாக்கப்பட்டுள்ளது, மற்றும் itemsize attribute-ஐ பயன்படுத்தி array-இன் ஒவ்வொரு element-ஐ memory-யில் represent செய்ய எவ்வளவு bytes எடுக்கின்றது என்பதை பார்க்கலாம்.

Output:

Item size of array: 8 bytes

8 bytes என்று வரும்போது, அந்த array-இல் உள்ள ஒவ்வொரு element-மும் 8 bytes அளவு memory-யைப் பயன்படுத்துகின்றது என்று பொருள்.

இதன் மூலம், itemsize attribute ஒரு Numpy array-இல் உள்ள ஒவ்வொரு element-இன் memory அளவை சரியாக அளக்க உதவுகிறது.

1.4. numpy.flags

flags attribute என்பது NumPy array-இன் memory layout-ஐ குறிக்கிறது. இது array-இன் உள்ளமைப்புகள் (properties) மற்றும் memory-இன் அடிப்படையில் array எவ்வாறு அமைக்கப்பட்டுள்ளது என்பதை விளக்குகிறது.

Input:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print("Flags of the array:\n", arr.flags)

இந்த code-இல், arr என்ற 1D array உருவாக்கப்பட்டுள்ளது, மற்றும் flags attribute-ஐ பயன்படுத்தி array-இன் memory layout பற்றிய தகவல்களை அறியலாம்.

Output:

Flags of the array:
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False

இந்த flags attribute இவ்வாறு array-இன் memory layout பற்றிய விவரங்களை கொடுக்கிறது:

  • C_CONTIGUOUS: Array-இன் memory layout C-style (row-major) ஆக உள்ளது.

  • F_CONTIGUOUS: Array-இன் memory layout Fortran-style (column-major) ஆக இல்லை.

  • OWNDATA: Array-க்கு சொந்தமாக memory data இருக்கிறது.

  • WRITEABLE: Array-இல் உள்ள data மாற்றக்கூடியது.

  • ALIGNED: Data memory alignment சரியாக உள்ளது.

  • WRITEBACKIFCOPY: Write-back operation தேவைப்படும்போது False ஆகும்.

இதன் மூலம், flags attribute NumPy array-இன் memory layout மற்றும் array-இன் உள்ளமைப்புகள் பற்றிய முழு தகவல்களை வழங்குகிறது.

2. NUMPY − ARRAY CREATION ROUTINES

NumPy-ல் array-களை உருவாக்க பல்வேறு methods உள்ளன, அவற்றைப் பயன்படுத்தி data handling மற்றும் computation process-களை எளிதாக்கலாம். இப்போது, சில பொதுவாகப் பயன்படுத்தப்படும் array creation functions பற்றி விரிவாகப் பார்ப்போம்.

2.1. numpy.empty

numpy.empty( ) function ஒரு initialization values இல்லாத array-ஐ உருவாக்க பயன்படுகிறது. இதனால், array-இல் உள்ள values ஏதாவது முன்பே memory-யில் இருந்த random values ஆக இருக்கும். இதனால், memory-யில் உள்ள values reset செய்யப்படாமல், அந்த values array-இல் வரலாம்.

Input:

import numpy as np
empty_array = np.empty((2, 3))
print("Empty array:\n", empty_array)

இந்த code-இல், np.empty( ) function-ஐ பயன்படுத்தி 2 rows மற்றும் 3 columns கொண்ட ஒரு array உருவாக்கப்படுகிறது. இந்த array-இல் உள்ள values எல்லாம் எதுவும் initial values இல்லை. அதற்குப் பதிலாக, memory-யில் இருக்கும் junk values அல்லது random values array-இல் காணப்படும்.

Output:

Empty array:
 [[4.66651921e-310 0.00000000e+000 2.05833592e-312]
 [6.79038654e-313 2.14321575e-312 2.27053550e-312]]

இதில், array-இன் values எல்லாம் random values ஆக உள்ளன, ஏனெனில் numpy.empty( ) function memory-யில் ஏற்கனவே இருக்கும் data-ஐ பயன்படுத்தி array-ஐ உருவாக்குகிறது. இதனால், இந்த function array-ஐ மிக வேகமாக உருவாக்கும் ஆனால் initialization values கொடுக்காது.

  • numpy.empty( ) function பயன்படுத்தப்படும் போது array-இன் values எல்லாம் unpredictable ஆக இருக்கும்.

  • Performance அதிகம் தேவைப்படும் போது, initialization values-ஐ avoid செய்ய இந்த function மிகவும் உதவியாக இருக்கும்.

  • எப்போது values முக்கியமாக கருதப்படுகின்றனவோ, அப்போது numpy.zeros( ) அல்லது numpy.ones( ) போன்ற functions-ஐ பயன்படுத்துவது சிறந்தது.

இந்த function speed optimization தேவைப்படும் போது மிகவும் பயனுள்ளதாக இருக்கும், ஏனெனில் இது memory allocation மட்டும் செய்து, values-ஐ initialize செய்யாது.

2.2. numpy.zeros

zeros( ) function-ஐ பயன்படுத்தி, எல்லா elements-உம் 0 values கொண்ட ஒரு array-ஐ உருவாக்கலாம். இந்த function, array-இன் structure-ஐ (shape) user-defined shape-ஆக அமைத்து, அந்த shape-ஐ கொண்டு அனைத்து இடங்களிலும் 0 values-ஐ கொண்டு ஒரு array-ஐ return செய்யும்.

Input:

import numpy as np

zeros_array = np.zeros((2, 2))
print("Zeros array:\n", zeros_array)

Output:

Zeros array:
 [[0. 0.]
 [0. 0.]]

  • இங்கு np.zeros( ) function-ஐ பயன்படுத்தி, 2 rows மற்றும் 2 columns கொண்ட ஒரு array உருவாக்கப்பட்டுள்ளது. இந்த array-இன் எல்லா elements-ம் 0 values கொண்டவை.

  • numpy.zeros( ) function memory-யை allocate செய்து, எல்லா elements-க்கும் 0 values கொடுக்கும்.

  • இது, array-ஐ முழுமையாக 0 values கொண்டு initialize செய்ய விரும்பும் போது பயன்படும்.

  • zeros( ) function data initialization தேவையுள்ள போது மிகவும் பயனுள்ளதாக இருக்கும், ஏனெனில் இது memory-யை efficient-ஆக நிரப்பி array-ஐ உருவாக்குகிறது.

2.3. numpy.ones

ones( ) function-ஐ பயன்படுத்தி, எல்லா elements-உம் 1 values கொண்ட ஒரு array-ஐ உருவாக்கலாம். இந்த function, array-இன் structure-ஐ (shape) user-defined shape-ஆக அமைத்து, அந்த shape-ஐ கொண்டு அனைத்து இடங்களிலும் 1 values-ஐ கொண்டு ஒரு array-ஐ return செய்யும்.

Input:

import numpy as np

ones_array = np.ones((3, 3))
print("Ones array:\n", ones_array)

Output:

Ones array:
 [[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]
  • இங்கு np.ones( ) function-ஐ பயன்படுத்தி, 3 rows மற்றும் 3 columns கொண்ட ஒரு array உருவாக்கப்பட்டுள்ளது.

  • இந்த array-இன் எல்லா elements-ம் 1 values கொண்டவை.

இதன் மூலம், zeros( ) மற்றும் ones( ) functions மிகவும் பயனுள்ளதாக இருக்கும், ஏனெனில் அவை predictable values கொண்ட array-களை உருவாக்குகின்றன, computation-ஐ எளிதாக்குகின்றன.

தொடரும்

முனைவர் ப. தமிழ் அரசன்

tamilarasanbakthavatchalam@gmail.com

%d bloggers like this: