পূর্ণ সংখ্যা
int উদাহরণ: 234, 0, -193, 0b010, 0xF3
ফ্লোটিং পয়েন্ট সংখ্যা
float উদাহরণ: 9.23, 0.0, -1.7e-6
বুলিয়ান
bool উদাহরণ: True, False
স্ট্রিং অথবা অক্ষর
str উদাহরণ: 'hello', "world"
বাইটস
bytes উদাহরণ: b'toto\xfe\775'
লিস্ট
list উদাহরণ: [1, 2, 3], ['x', 22, -3, 2]
ডিকশনারি
dict উদাহরণ: {'one': 1, 'two': 2}
টুপল (ইমিউটেবল বা অপরিবর্তনযোগ্য ডেটা টাইপ)
tuple উদাহরণ: (1, 2, 'x',)
সেট
set উদাহরণ: {1, 2, 'y'}
স্ট্রিং কে int নাম্বারে পরিবর্তন
int('15') → 15
int নাম্বারের পরিবর্তনের ক্ষেত্রে বেইস এর ব্যবহার: উদাহরন ১ ও ২ এ যথাক্রমে বেইস ১৬ এবং বেইস ১০ ব্যবহার করা হয়েছে
উদাহরণ ১: int('3f', 16) → 63 উদাহরণ ২: int('123', 10) → 123
দশমিকের পরের অংশের কর্তন
int(15.56) → 15
float নাম্বারে পরিবর্তন
float('-11.24e8') → -1124000000.0
round এর মাধ্যমে একটি দশমিক ভগ্নাশের দশমিকের পরের অংশের নম্বরের সংখ্যা কমিয়ে আনা হয়
round(15.56, 1) → 15.6
বুলিয়ানে পরিবর্তন
bool(x) → উত্তর False হবে যদি x এর মান None অথবা '' (শূন্য স্ট্রিং) হয়, True হবে x এর অন্যান্য মান এর জন্যে
স্ট্রিং এ পরিবর্তন
str(x) → '...' এখানের x এর যেকোন ভ্যালু স্ট্রিং এ রূপান্তরিত হবে
ক্যারাক্টার বা chr এ পরিবর্তন
chr(64) → '@' এখানে পূর্ণ সংখ্যাটি (64) হলো ইউনিকোডে রূপান্তরিত ক্যারাক্টারের (@) অবস্থানের ক্রম। আরেকটি উদাহরনঃ ইউনিকোডে a এর অবস্থান ৬৫ পয়েন্টে।
বাইটস বা bytes এ পরিবর্তন
bytes([72,9,64]) → b'H @' এখানে একটি লিস্টকে বাইটসে রূপান্তরিত করা হয়েছে।
স্ট্রিং(str) কে লিস্টে(list) পরিবর্তন
list('abc') → ['a','b','c']
ডিকশনারিতে (dict) এ পরিবর্তন
dict([(3, 'three'),(1, 'one')]) → {1: 'one', 3: 'three'}
সেট (set) এ পরিবর্তন
set(['one', 'two']) → {'one', 'two'}
একটি পরিসীমা উপর পুনরাবৃত্তি(iteration)
for var in range(begin_val,end_val,step): do_something উদাহরণ: for i in range(1,4):print(i) → 1
2
3
একটি মান পর্যন্ত পরিসিমা করা
while condition: do_something উদাহরণ: while i!=3 : print(i)
i+=1 → 1
2
3
একটি স্ট্রিং এর প্রথম অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করা
txt.capitalize()
একটি স্ট্রিং এর প্রথম অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করা
txt.casefold()
সেপারেটর দ্বারা স্ট্রিংকে সাব-স্ট্রিংয়ে বিভক্ত করা
string.split('separator')
উদহারণ:
string = 'Hello, World!'
string.split(',') → ['Hello', ' World!']
স্ট্রিং এর সাথে নাম্বার সংযুক্ত করা
string.format(number)
উদহারণ:
string = 'I am {} years old'
string.format(21) → 'I am 21 years old'
একটি স্ট্রিং, একটি নির্দিষ্ট সাব-স্ট্রিং দ্বারা শেষে হয়েছে কিনা বের করা
string.endswith(substring)
উদহারণ:
string ='End with'
string.endswith('th') → True
স্ট্রিংটি কেবল অক্ষর দ্বারা গঠিত কিনা দেখা
string.isalpha()
উদহারণ:
string ='string'
string.isalpha() → True
স্ট্রিংটি কেবল সংখ্যা দ্বারা গঠিত কিনা দেখা
string.isdigit()
উদহারণ:
string ='123'
string.isdigit() → True
স্ট্রিংটি আইডেন্টিফায়ার (কেবল অক্ষর, সংখা ও আন্ডারস্কোর('_') বহন করবে) কিনা
string.isidentifier()
উদহারণ:
string ='It_123'
string.isidentifier() → True
একটি স্ট্রিংকে বড় হাতের অক্ষরে রূপান্তর করা
txt.upper()
একটি স্ট্রিংকে ছোট হাতের অক্ষরে রূপান্তর করা
txt.lower()
একটি স্ট্রিংয়ের বড় হাতের অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করা এবং ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করা
txt.swapcase()
একটি স্ট্রিং এর প্রথম ও শেষের স্পেস রিমুভ করা
txt.strip()
প্রতিটি শব্দের প্রথম অক্ষর কে বড় হাতের অক্ষরে রূপান্তর করা
txt.title()
একটি স্ট্রিং থেকে কোন অক্ষর খুঁজা
string.find(value)
একটি স্ট্রিং সাথে আর একটি স্ট্রিং যোগ করা
string.join(iterable)
একটি স্ট্রিংকে আর একটি স্ট্রিং দিয়ে রিপ্লেস করা
string.replace(oldvalue, newvalue)
একটি স্ট্রিং এ একটি অক্ষর কত বার আছে বের করা
string.count(value)
টুপলে একটি উপাদান কতবার আছে গণনা করা
_tuple.count(value)
টুপলে একটি উপাদানের অবস্থান বের করা
_tuple.index(value)
সেটে নতুন উপাদান সংযুক্ত করা
_set.add('item')
সেটের সকল উপাদান মুছে ফেলা
_set.clear()
সেটের প্রতিলিপি করা
_newSet = _set.copy()
দুটি সেটের পার্থক্য বের করা
_cSet = _aSet.difference(_bSet)
একটি সেটের এমন উপাদান বাদ দেওয়া যা অন্য একটি সেটে আছে
_aSet.difference_update(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'cherry', 'apple'}
_aSet.difference_update(_bSet)
print(_aSet) → {'banana'}
দুটি সেটের সাধারণ উপাদান ব্যতীত সকল উপাদান বের করা
_cSet = _aSet.symmetric_difference(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'cherry', 'apple'}
_cSet=_aSet.symmetric_difference(_bSet)
print(_cSet) → {'cherry', 'banana'}
দুটি সেটের সাধারণ উপাদান বাদ দেওয়া এবং ঐ দুটি সেটের সাধারণ উপাদান ব্যতীত সকল উপাদান একটি সেটে সংযুক্ত করা
_aSet.symmetric_difference_update(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'cherry', 'apple'}
_aSet.symmetric_difference_update(_bSet)
print(_aSet) → {'cherry', 'banana'}
দুটি সেটে ছেদ/সাধারণ উপাদান আছে কিনা যাচাই করা
_result = _aSet.isdisjoint(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'cherry', 'apple'}
_result = _aSet.isdisjoint(_bSet)
print(_result) → False
দুটি সেটের ছেদ/সাধারণ উপাদান বের করা
_cSet = _aSet.intersection(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'cherry', 'apple'}
_cSet=_aSet.intersection(_bSet)
print(_cSet) → {'apple'}
একটি সেটের এমন উপাদান বাদ দেওয়া যা অন্য একটি সেটে নেই
_aSet.intersection_update(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'cherry', 'apple'}
_aSet.intersection_update(_bSet)
print(_aSet) → {'apple'}
দুটি সেটের ইউনিয়ন বের করা
_cSet = _aSet.union(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'cherry', 'apple'}
_cSet=_aSet.union(_bSet)
print(_cSet) → {'apple', 'cherry', 'banana'}
একটি সেটের সব উপাদান অন্য একটি সেটে উপস্থিত কিনা যাচাই করা
_result = _aSet.issubset(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'banana','cherry', 'apple'}
_result = _aSet.issubset(_bSet)
print(_result) → True
একটি সেটে অন্য একটি সেটের সব উপাদান উপস্থিত কিনা যাচাই করা
_result = _aSet.issuperset(_bSet)
উদাহরণ:
_aSet = {'apple', 'cherry', 'banana'}
_bSet = {'banana', 'apple'}
_result = _aSet.issuperset(_bSet)
print(_result) → True
একটি সেটে অন্য একটি সেটের সব উপাদান সংযুক্ত করা
_aSet.update(_bSet)
উদাহরণ:
_aSet = {'apple', 'banana'}
_bSet = {'cherry', 'apple'}
_aSet.update(_bSet)
print(_aSet) → {'apple', 'banana', 'cherry'}
সেটের নির্দিষ্ট উপাদান মুছে ফেলা
_aSet.discard(item)/_aSet.remove(item)
as এর ব্যবহার করে সরাসরি names এর এক্সেস
from monmod import nom1, nom2 as fct
মড্যুল এক্সেস এর অন্য উপায় হতে পারে monmod.nom1
import monmod
এখানে x হলো ভ্যারিয়েবল এবং সমান চিহ্নের ডান পাশে রয়েছে কম্পিউটেড এক্সপ্রেশন অথবা ভ্যালু
x = 1.2 + 8 + sin(0)
একাধিক ভ্যারিয়েবল এসাইনমেন্টঃ ডানপাশে ভ্যারিয়েবল সমূহ এবং বাম পাশে কমা দ্বারা বিভক্ত এদের ভ্যালু সমূহ ক্রমান্বয়ে সজ্জিত
y, z, r = 9.2, -7.6, 'bad'
Increment: ইনক্রিমেন্ট
x += 3 (or x = x + 3)
Decrement: ডিক্রিমেন্ট
x -= 3 (or x = x + 3)
শর্তাবলি অনুসারে প্রগরাম চালানোর জন্য
if condition_1:task_1
elif condition_2:task_2
else:default_task উদাহরণ: animal='cat'
if animal=='cat': print('Meow')
else: print('Cat not found') → Meow
ফাংশন বেসিক
def hello_world():
print('Hello, World!')
Return (রিটার্ন)
def add(x, y):
print('x is %s, y is %s' %(x, y))
return x + y
add(5, 6) # => 11
Positional arguments
def varargs(*args):
return args
varargs(1, 2, 3) # => (1, 2, 3)
Returning Multiple
def swap(x, y):
return y, x
x = 1
y = 2
x, y = swap(x, y) # => x = 2, y = 1
Default value
def add(x, y=10):
return x + y
add(5) # => 15
add(5, 20) # => 25
Anonymous functions
# => True
(lambda x: x > 2)(3)
# => 5
(lambda x, y: x ** 2 + y ** 2)(2, 1)
লিস্টের শেষে নতুন উপাদান সংযুক্ত করা
_oldList.append('item1')
লিস্টের সকল উপাদান মুছে ফেলা
_oldList.clear()
লিস্টের প্রতিলিপি করা
_newList = _oldList.copy()
লিস্টে একটি উপাদান কতবার আছে গণনা করা
_oldList.count('item1')
লিস্টের শেষে অন্য একটি লিস্টের উপাদান সংযুক্ত করা
_AList.extend(_BList)
উদাহরণ:
_AList = ['itemA']
_BList = ['itemB']
_AList.extend(_BList)
print(_AList) → ['itemA','itemB']
লিস্টে একটি উপাদান অবস্থান বের করা এবং উপাদানটি একাধিক বার থাকলে প্রথম অবস্থান বের করা
_oldList.index('item1')
লিস্টের নির্দিষ্ট স্থানে নতুন উপাদান সংযুক্ত করা
list.insert(position,'item')
উদাহরণ:
_AList = ['itemA','itemC']
_AList.insert(1,'itemB')
print(_AList) → ['itemA','itemB','itemC']
লিস্টের নির্দিষ্ট স্থানের উপাদান মুছে ফেলা
list.pop(position)
উদাহরণ:
_AList = ['itemA','itemC']
_AList.pop(1)
print(_AList) → ['itemA']
লিস্টের নির্দিষ্ট উপাদান মুছে ফেলা
list.remove(item)
উদাহরণ:
_AList = ['itemA','itemC']
_AList.remove('itemA')
print(_AList) → ['itemC']
লিস্টের উপাদান উল্টো দিক থেকে সাজানো
list.reverse()
উদাহরণ:
_AList = ['itemA','itemC']
_AList.reverse()
print(_AList) → ['itemC','itemA']
লিস্টের উপাদান ঊর্ধ্বক্রম এবং অধঃক্রম অনুসারে সাজানো
list.sort()
উদাহরণ:
_AList = ['A','C']
_AList.sort(reverse=False)
print(_AList) → ['A','C']
_AList.sort(reverse=True)
print(_AList) → ['C','A']
ডিকশনারি কি?
ডিকশনারি বিভিন্ন তথ্যের মধ্যে সংযোগ স্থাপন করে থাকে। ডিকশনারির মধ্যে তথ্যগুলো মূল-মান জোড়া (Key-Value pair) হিসেবে থাকে।
একটি ডিকশনারির উদাহরণ। নিচের উদাহরণে কোলন(:) এর আগের অংশটিকে key এবং কোলন(:) এর পরের অংশটিকে value বলা হয়। প্রতিটি Key-Value pair একটি অপরটি থেকে কমা(,) দিয়ে পৃথক করা থাকে।
student = { 'name': 'John', 'age': 20 }
ডিকশনারির থেকে যেকোনো ভ্যালু এক্সেস করা বা নেয়া
print(student['name']) -> 'John'
print(student['age']) -> 20
get() দিয়ে ডিকশনারির থেকে যেকোনো ভ্যালু এক্সেস করা বা নেয়া। যদি যে key টি এক্সেস করতে চাচ্ছি, তা না থেকে থাকে, তবে get() ব্যবহার করলে কোনো error না দেখিয়ে None দেখাবে। কিন্তু উপরের পদ্ধতিটি ব্যবহার করলে key না পেলে error দেখিয়ে আপনার প্রোগ্রাম ব্রেক করতে পারে। তাই নিরাপদ হল get() ব্যবহার করে key এর মাধ্যমে value এক্সেস করা। নিচের উদাহরণে 'address' নামে আমাদের কোনো key নেই, তাই value হিসেবে None আসবে।
print(student['name']) -> John
print(student.get('address')) -> None
ডিকশনারিতে একটি নতুন Key-Value pair যোগ করা
student['gpa'] = 4.0
-> নতুন ডিকশনারিটি হবে, student = {'name': 'John', , 'age': 20, 'gpa': 4.0}
ডিকশনারি এর সকল key গুলো নিয়ে list বানানোর পদ্ধতি
list(student.keys())
-> ['name', 'age', 'gpa']
ডিকশনারি এর সকল value গুলো নিয়ে list বানানোর পদ্ধতি
list(student.values())
-> ['John', 20, 4.0]
ডিকশনারি এর সকল (key, value) গুলো নিয়ে list বানানোর পদ্ধতি
list(student.items())
-> [('name', 'John'), ('age', 20), ('gpa', 4.0)]
ডিকশনারি থেকে Key-Value pair বাদ দেয়া বা remove করা
del student['gpa']
-> নতুন ডিকশনারিটি হবে, student = {'name': 'John', , 'age': 20}
Dictionary Comprehension (সহজে ডিকশনারি তৈরি)
squares = {x:x**2 for x in range(5)}
-> {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
ফাইল খোলা (ফাইল উপস্থিত না থাকলে এরর দেখাবে)
file = open(fileLocation, 'r')
উদাহরণ:
file = open('D:\myfiles\myFile.txt', 'r')
সম্পূর্ণ ফাইল পড়া
file.read()
ফাইলের নির্দিষ্ট সংখ্যক লাইন পড়া
file.readline()
ফাইল বন্ধ করা
file.close()
নতুন ফাইল তৈরি করা
newFile = open(fileName,'x')
উদাহরণ:
file = open('D:\myfiles\myNewFile.txt', 'x')
পুরাতন ফাইল আপডেট করা
updateFile = open(fileName,'w')
উদাহরণ:
file = open('D:\myfiles\myNewFile.txt', 'w')
ফাইল অপসারণ করা
os.remove(newFile)
উদাহরণ:
os.remove('D:\myfiles\myNewFile.txt')
ফাইল বাইনারি বা টেক্সট মোড হিসাবে পরিচালনা করতে পারেন (b - বাইনারি, t - টেক্সট)
file = open(fileLocation, 'rb')
উদাহরণ:
file = open('D:\myfiles\myFile.png', 'rb')
বিঃদ্রঃ এখানে, পড়ার জন্য 'r', এবং বাইনারির জন্য 'b'
পান্ডাস ইম্পোর্ট করা
import pandas as pd
সিএসভি ফাইল রিড করা এবং ভেরিয়েবলে রাখা
df = pd.read_csv(file_path)
ডাটাফ্রেমের রো, কলাম সংখ্যা
df.shape
ডাটাফ্রেমের ইন্ডেক্স(রো লেবেল)
df.index
ডাটাফ্রেমের সব কলামের নাম
df.columns
ডাটাফ্রেমের প্রথম n রো
df.head(n)
ডাটাফ্রেমের শেষের n রো
df.tail(n)
র্যান্ডমলি ডাটাফ্রেমের ৯ টি রো সিলেক্ট করে
df.sample(n=9)
ডাটাফ্রেমের ইনফো
df.info()
পুরো ডাটাফ্রেমের সামারি পরিসংখ্যান
df.describe()
নিউমেরিক কলামগুলোর গড়
df.mean()
নিউমেরিক কলামগুলোর মিডিয়ান
df.median()
কোন একটি ফাংশন এপ্লাই করা
df.apply(func)
ভ্যালু অনুযায়ী সোর্ট করা
df.sort_values(by='column_name')
কলামের ভ্যালুগুলোর ফ্রিকুয়েন্সি
df['column_name'].value_counts()
ডাটাফ্রেমের ইন্ডেক্স সোর্ট করে
df.sort_index()
কলামের ইউনিক ভ্যালুর সংখ্যা
df['column_name'].nunique()
NA/null মান রয়েছে এমন কলাম বাদ দেয়া
df.dpropna()
NA/null ভ্যালু এর মান value-এ পরিবর্তন করা
df.fillna(value)
কলামের নাম পরিবর্তন করা
df.rename(columns = {'old_name': 'new_name'})
নামপাই ইনস্টল করা
pip install numpy
নামপাই ইম্পোর্ট করা
import numpy as np
বিঃদ্রঃ এখানে, np হল alias বা শর্ট নেম। ফুল numpy না লেখে np লেখলেও হবে এখন থেকে
ভার্সন চেক করা
np.__version__
অ্যারে তৈরি করা (নামপাই-এ অ্যারে অবজেক্টকে ndarray বলা হয়)
arr = np.array([1, 2, 3, 4, 5])
অ্যারে copy করা
arr = np.array([1, 2, 3, 4, 5])
newArr = arr.copy()
অ্যারের ডাইম্যানসন চেক করা
arr.ndim
অ্যারের shape চেক করা
arr.shape
অ্যারের shape চেঞ্জ করা (1D থেকে 2D)
arr = np.array([1, 2, 3, 4, 5, 6])
newArr = arr.reshape(3, 2)
বিঃদ্রঃ এখানে arr অ্যারেটা ১ম ডাইম্যানসন এর এবং newArr অ্যারেটা (৩, ২) ডাইম্যানসন এর। মানে ৩ টা অ্যারে এবং প্রত্যেক অ্যারেতে ২ টা করে এলিমেনট। অন্যভাবে বলতে গেলে, ৩ টা রো এবং ২ টা কলাম।
[[1, 2], [3, 4], [5, 6]]
অ্যারের shape চেঞ্জ করা (1D থেকে 3D)
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newArr = arr.reshape(2, 3, 2)
বিঃদ্রঃ এখানে arr অ্যারেটা ১ম ডাইম্যানসন এর এবং newArr অ্যারেটা (২, ৩, ২) ডাইম্যানসন এর। মানে ২ টা অ্যারে, আবার ওই ২ অ্যারে এর প্রত্যেকটা তে ৩ টা করে অ্যারে এবং এক এক অ্যারেতে ২ টা করে এলিমেনট।
[[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]]]
৫ ডাইম্যানসন অ্যারে তৈরি করা
arr5D = np.array([1, 2, 3], ndmin=5)
অ্যারে ইনডেক্সিং
arr[0]
লাস্ট উপাদানঃ arr[-1]
১ম ডাইম্যানসন(রো) এর চতুর্থ উপাদান
arr = np.array([[1,2,3,4,5], [6,7,8,9,10]])
print(arr[0, 3])
অ্যারে স্লাইস ([স্টার্ট:এন্ড] এবং [স্টার্ট:এন্ড:স্টেপ] হল স্টেপ সহ)
ইনডেক্স ১ থেকে ৫ এর জন্যঃ arr[1:5]
ইনডেক্স ১ থেকে ৫ এর জন্য ২ স্টেপ পর পরঃ arr[1:5:2]
ইনডেক্স ৩ থেকে লাস্ট এর জন্যঃ arr[3:]
ইনডেক্স 0 থেকে ৪ এর জন্যঃ arr[:5]
বিঃদ্রঃ [স্টার্ট:এন্ড] এখানে, এন্ড অন্তর্ভুক্ত না। মানে arr[:4] এর জন্য ইনডেক্স ০,১,২,৩ এর ভালু দেখাবে, কিন্তু ইনডেক্স ৪ এর ভালু দেখাবেনা।
নামপাই-এ ডেটা টাইপস
i - পূর্ণসংখ্যা (integer)
b - বুলিয়ান (boolean)
u - আনসাইনড পূর্ণসংখ্যা (unsigned integer)
f - ফ্লোট (float)
c - কমপ্লেক্স ফ্লোট (complex float)
m - টাইমডেল্টা (timedelta)
M - ডেটটাইম (datetime)
O - অবজেক্ট (object)
S - স্ট্রিং (string)
U - ইউনিকোড স্ট্রিং (unicode string)
V - ভয়েড (void)
বিঃদ্রঃ চেক ডেটাটাইপঃ arr.dtype
অ্যারে ইটারেটিং (1D)
arr = np.array([1, 2, 3])
for x in arr:
print(x)
অ্যারে ইটারেটিং (2D)
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x in arr:
for y in x:
print(y)
অ্যারে ইটারেটিং (3D)
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
for x in np.nditer(arr):
print(x)
অ্যারে ইটারেট (বিভিন্ন স্টেপ এ)
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for x in np.nditer(arr[:, ::2]):
print(x)
বিঃদ্রঃ এখানে ১ টা করে এলিমেনট বা উপাদান স্কিপ করে শো করবে। ::3 হলে ২ টা করে স্কিপ করে শো করতো। যেহেতু ::2, তাই রেজাল্ট শো করবে 1 3 5 7
অ্যারে ইটারেট (ইনডেক্স নাম্বার সহ)
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for i, x in np.ndenumerate(arr):
print(i, x)
বিঃদ্রঃ এখানে i হল ইনডেক্স এবং x হল ভেলু
দুটি অ্যারে জয়েন (1D)
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
newArr = np.concatenate((arr1, arr2))
দুটি অ্যারে জয়েন (2D)
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
newArr = np.concatenate((arr1, arr2), axis=1)
বিঃদ্রঃ এখানে axis=1 মানে রো। ১ম অ্যারে এর ১ম রো এবং ২য় অ্যারে এর ১ম রো হবে নিউ অ্যারে এর ১ম রো। আর যদি axis=0 দেয়া হতো তাহলে কলাম অনুযায়ী নিউ অ্যারে হতো। সেক্ষেত্রে, ১ম অ্যারে এর ১ম এবং ২য় রো হতো নিউ অ্যারে এর ১ম এবং ২য় রো। ২য় অ্যারে এর ১ম, ২য় হবে নিউ অ্যারে এর ৩য়, ৪র্থ রো।
stact() মেথড দিয়ে দুটি অ্যারে জয়েন
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
newArr = np.stack((arr1, arr2), axis=1)
hstact() মেথড দিয়ে রো ভাবে দুটি অ্যারে জয়েন
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
newArr = np.hstack((arr1, arr2))
vstact() মেথড দিয়ে কলাম ভাবে দুটি অ্যারে জয়েন
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
newArr = np.vstack((arr1, arr2))
দুটি অ্যারে এর একই ইনডেক্স নিয়ে dstack() মেথড দিয়ে অ্যারে জয়েন
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
newArr = np.dstack((arr1, arr2))
বিঃদ্রঃ এখানে দুটি অ্যারে এড় 0 ইনডেক্স নিয়ে নিউ অ্যারে এর ১ম রো এবং ইনডেক্স 1 নিয়ে নিউ অ্যারে এর ২য় রো। তাই রেজাল্ট হবে [[[1, 4], [2, 5], [3, 6]]]
অ্যারে split
arr = np.array([1, 2, 3, 4, 5, 6])
newArr = np.array_split(arr, 3)
বিঃদ্রঃ এখানে 3 ব্যাবহার করা হয়েছে ৩ ভাগ এ ভাগ করার জন্য
রো অনুযায়ী একটি 2D অ্যারে কে ৩টি 2D তে ভাগ(split) করা
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.array_split(arr, 3, axis=1)
where() মেথড দিয়ে অ্যারে থেকে কোন ভেলু সার্চ
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
বিঃদ্রঃ এখানে রেজাল্ট হিসেবে (array([3, 5, 6],) পাবো। আমরা চাইলে whire() মেথড এর মদ্ধে আরও কনডিসন ব্যাবহার করতে পারি। জোর সংখ্যা এর জন্য arr%2 == 0 এরকম।
searchsorted() মেথড দিয়ে অ্যারে কে অটো সর্ট করে তারপর কোন ভেলু এর ইনডেক্স সার্চ করা
arr = np.array([6, 8, 9, 7])
x = np.searchsorted(arr, 7)
বিঃদ্রঃ এখানে রেজাল্ট হিসেবে আমরা 1 পাবো, কারণ সর্ট করার পর 7 এর ভেলু ইনডেক্স 1 এ আসবে। মানে সর্ট করা অ্যারে টা হল [6, 7, 8, 9]। তাই রেজাল্ট 1 আসবে, যেহেতু 7 এর ইনডেক্স 1
ইনডেক্সগুলি সন্ধান করুন যেখানে 2, 4 এবং 6 মানগুলি ইন্সার্ট করানো উচিত
arr = np.array([1, 5, 8, 9])
x = np.searchsorted(arr, [2, 4, 6])
বিঃদ্রঃ এখানে রেজাল্ট [1, 1, 2]
অ্যারে সর্ট (1D)
arr = np.array([3, 2, 0, 1])
newArr = np.sort(arr)
অ্যারে সর্ট (2D)
arr = np.array([[3, 2, 4], [5, 0, 1]])
newArr = np.sort(arr)
বিঃদ্রঃ এখানে রেজাল্ট [[2, 3, 4], [0, 1, 5]]
filter
arr = np.array([10, 20, 30, 40])
x = [True, False, True, False]
newArr = arr[x]
বিঃদ্রঃ এখানে রেজাল্ট [10, 30], কারণ নতুন ফিল্টারটিতে কেবলমাত্র সেই মান রয়েছে যেখানে ফিল্টার অ্যারের মানটি সত্য ছিল
0 থেকে 1 পর্যন্ত একটি রেনডম পূর্ণসংখ্যা তৈরি করুন
from numpy import random
x = random.rand()
0 থেকে 100 পর্যন্ত একটি রেনডম পূর্ণসংখ্যা তৈরি করুন
from numpy import random
x = random.randint(100)
৫ সংখ্যার একটি রেনডম অ্যারে তৈরি করা (1D)
x=random.randint(100, size=(5))
৩ রো এবং ৫ কলাম এর একটি রেনডম পূর্ণসংখ্যার অ্যারে তৈরি করা (2D)
x = random.randint(100, size=(3, 5))
৩ রো এবং ৫ কলাম এর একটি রেনডম দশমিক সংখ্যার অ্যারে তৈরি করা (2D)
x = random.rand(3, 5)
প্রদত্ত অ্যারে এর মানগুলি ব্যাবহার করে ৩ রো এবং ৫ কলাম এর একটি 2D অ্যারে তৈরি করুন
x = random.choice([3, 5, 7, 9], size=(3, 5))