Pandas: Difference between revisions

From binaryoption
Jump to navigation Jump to search
Баннер1
(@pipegas_WP)
 
(@pipegas_WP)
 
Line 1: Line 1:
পান্ডাস ডেটা বিশ্লেষণ এবং ম্যানিপুলেশন লাইব্রেরি
পান্ডাস ডেটা বিশ্লেষণ এবং ম্যানিপুলেশন


পান্ডাস (Pandas) হল পাইথনের একটি বহুল ব্যবহৃত ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের লাইব্রেরি। এটি ডেটা বিজ্ঞানী, বিশ্লেষক এবং প্রকৌশলীদের মধ্যে অত্যন্ত জনপ্রিয়। পান্ডাস ব্যবহার করে ডেটা স্ট্রাকচার তৈরি, ডেটা পরিষ্কার করা, ডেটা বিশ্লেষণ করা এবং ডেটা ভিজ্যুয়ালাইজেশন করা যায়। এই লাইব্রেরিটি টেবুলার ডেটা (যেমন স্প্রেডশিট, ডাটাবেস টেবিল) নিয়ে কাজ করার জন্য বিশেষভাবে উপযোগী।
পান্ডাস (Pandas) হল পাইথনের একটি বহুল ব্যবহৃত ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের লাইব্রেরি। এটি ডেটা স্ট্রাকচার এবং ডেটা বিশ্লেষণের সরঞ্জাম সরবরাহ করে, যা ব্যবহার করে ডেটা পরিষ্কার, রূপান্তর এবং বিশ্লেষণ করা যায়। পান্ডাস বিশেষভাবে টেবুলার ডেটা (tabular data) যেমন স্প্রেডশিট বা SQL ডেটাবেস-এর সাথে কাজ করার জন্য ডিজাইন করা হয়েছে। এই লাইব্রেরিটি ডেটা বিজ্ঞানী, বিশ্লেষক এবং প্রকৌশলীদের মধ্যে অত্যন্ত জনপ্রিয়।


=== পান্ডাসের মূল ডেটা স্ট্রাকচার ===
== পান্ডাসের মূল ডেটা স্ট্রাকচার ==


পান্ডাস মূলত দুটি ডেটা স্ট্রাকচার প্রদান করে:
পান্ডাস মূলত দুটি ডেটা স্ট্রাকচার ব্যবহার করে:


*  সিরিজ (Series): এটি একটি এক-মাত্রিক লেবেলযুক্ত অ্যারে যা যেকোনো ডেটা টাইপ (যেমন ইন্টিজার, ফ্লোট, স্ট্রিং, বুলিয়ান) ধারণ করতে পারে। [[ডেটা টাইপ]] সম্পর্কে বিস্তারিত জানতে এই লিঙ্কটি দেখুন।
*  সিরিজ (Series): একটি এক-মাত্রিক লেবেলযুক্ত অ্যারে যা যেকোনো ডেটা টাইপ (যেমন ইন্টিজার, স্ট্রিং, ফ্লোট, ইত্যাদি) ধারণ করতে পারে। এটি একটি কলামের মতো, যেখানে প্রতিটি ডেটা একটি ইন্ডেক্স দ্বারা চিহ্নিত করা হয়। [[ডেটা টাইপ]] সম্পর্কে আরও জানতে পারেন।
*  ডেটাফ্রেম (DataFrame): এটি একটি দুই-মাত্রিক টেবুলার ডেটা স্ট্রাকচার, যা সারি এবং কলামে গঠিত। ডেটাফ্রেমকে স্প্রেডশিটের মতো মনে করা যেতে পারে। প্রতিটি কলাম একটি সিরিজ। [[ডেটাফ্রেম]] হলো পান্ডাসের সবচেয়ে গুরুত্বপূর্ণ অংশ।
*  ডেটাফ্রেম (DataFrame): একটি দুই-মাত্রিক লেবেলযুক্ত ডেটা স্ট্রাকচার, যা সারি এবং কলামে ডেটা ধারণ করে। এটি স্প্রেডশিটের মতো, যেখানে প্রতিটি কলাম একটি সিরিজ এবং প্রতিটি সারি একটি অবজারভেশন। [[স্প্রেডশিট]] এর গঠন সম্পর্কে ধারণা থাকলে এটি বুঝতে সুবিধা হবে।


{| class="wikitable"
{| class="wikitable"
|+ পান্ডাসের ডেটা স্ট্রাকচার
|+ পান্ডাসের ডেটা স্ট্রাকচার
|---
|-
| ডেটা স্ট্রাকচার | বিবরণ |
| ডেটা স্ট্রাকচার || বিবরণ || উদাহরণ ||
| সিরিজ | এক-মাত্রিক লেবেলযুক্ত অ্যারে |
|---|---|---|
| ডেটাফ্রেম | দুই-মাত্রিক টেবুলার ডেটা স্ট্রাকচার |
| সিরিজ (Series) || এক-মাত্রিক লেবেলযুক্ত অ্যারে || `pd.Series([1, 2, 3, 4, 5])` ||
| ডেটাফ্রেম (DataFrame) || দুই-মাত্রিক লেবেলযুক্ত ডেটা স্ট্রাকচার || `pd.DataFrame({'নাম': ['আকাশ', 'বাতাস', 'নদী'], 'বয়স': [25, 30, 28]})` ||
|}
|}


=== পান্ডাস ব্যবহারের সুবিধা ===
== পান্ডাস ব্যবহারের সুবিধা ==
 
পান্ডাস ব্যবহারের কিছু প্রধান সুবিধা নিচে উল্লেখ করা হলো:


*  সহজ সিনট্যাক্স: পান্ডাসের সিনট্যাক্স সহজ এবং ব্যবহারবান্ধব, যা ডেটা ম্যানিপুলেশনকে সহজ করে তোলে।
*  সহজ সিনট্যাক্স: পান্ডাসের সিনট্যাক্স সহজ এবং ব্যবহারবান্ধব, যা ডেটা ম্যানিপুলেশনকে সহজ করে তোলে।
নমনীয়তা: এটি বিভিন্ন ধরনের ডেটা ফরম্যাট সমর্থন করে, যেমন CSV, Excel, SQL ডাটাবেস ইত্যাদি। [[ডেটা ফরম্যাট]] সম্পর্কে আরও জানতে পারেন।
ডেটা পরিষ্কারকরণ: পান্ডাস ডেটা থেকে অনুপস্থিত মান (missing values) এবং ভুল ডেটা (incorrect data) সনাক্ত এবং অপসারণ করতে সাহায্য করে। [[ডেটা পরিষ্কারকরণ]] একটি গুরুত্বপূর্ণ পদক্ষেপ।
*  ডেটা পরিষ্কার করা: পান্ডাস ডেটা পরিষ্কার এবং রূপান্তর করার জন্য শক্তিশালী সরঞ্জাম সরবরাহ করে। [[ডেটা ক্লিনিং]] একটি গুরুত্বপূর্ণ প্রক্রিয়া।
*  ডেটা রূপান্তর: পান্ডাস ডেটাকে বিভিন্ন ফরম্যাটে রূপান্তর করতে পারে, যেমন CSV, Excel, SQL, ইত্যাদি। [[ডেটা রূপান্তর]] ডেটা বিশ্লেষণের জন্য অপরিহার্য।
*  বিশ্লেষণ ক্ষমতা: এটি ডেটা বিশ্লেষণ এবং পরিসংখ্যানিক গণনা করার জন্য বিভিন্ন ফাংশন সরবরাহ করে। [[পরিসংখ্যানিক বিশ্লেষণ]] এর জন্য পান্ডাস খুবই উপযোগী।
ডেটা বিশ্লেষণ: পান্ডাস ডেটার ওপর বিভিন্ন পরিসংখ্যানিক বিশ্লেষণ (statistical analysis) করতে পারে, যেমন গড়, মধ্যমা, মোড, ইত্যাদি। [[পরিসংখ্যানিক বিশ্লেষণ]] এর মাধ্যমে ডেটা থেকে মূল্যবান তথ্য বের করা যায়।
বৃহৎ ডেটা সেট নিয়ে কাজ করার ক্ষমতা: পান্ডাস বৃহৎ ডেটা সেটগুলি দক্ষতার সাথে পরিচালনা করতে পারে।
দ্রুত কর্মক্ষমতা: পান্ডাস অভ্যন্তরীণভাবে NumPy ব্যবহার করে, যা দ্রুত গাণিতিক অপারেশন করতে সক্ষম। [[NumPy]] পান্ডাসের ভিত্তি হিসেবে কাজ করে।


=== পান্ডাস ইন্সটল এবং ইম্পোর্ট করা ===
== পান্ডাস ইন্সটল এবং ইম্পোর্ট করা ==


পান্ডাস ইন্সটল করার জন্য আপনি `pip` ব্যবহার করতে পারেন:
পান্ডাস ইন্সটল করার জন্য, আপনি pip ব্যবহার করতে পারেন:


```bash
```bash
Line 36: Line 35:
```
```


ইন্সটল করার পরে, আপনার পাইথন স্ক্রিপ্টে পান্ডাস ইম্পোর্ট করতে হবে:
ইম্পোর্ট করার জন্য:


```python
```python
Line 42: Line 41:
```
```


এখানে `pd` হলো পান্ডাসের একটি বহুল ব্যবহৃত অ্যালিয়াস।
== ডেটাফ্রেম তৈরি করা ==


=== ডেটাফ্রেম তৈরি করা ===
ডেটাফ্রেম বিভিন্ন উৎস থেকে তৈরি করা যেতে পারে, যেমন:


ডেটাফ্রেম তৈরি করার বিভিন্ন উপায় রয়েছে। নিচে কয়েকটি উদাহরণ দেওয়া হলো:
*  ডিকশনারি (Dictionary):
 
*  ডিকশনারি থেকে:


```python
```python
import pandas as pd
data = {'নাম': ['আকাশ', 'বাতাস', 'নদী'],
 
         'বয়স': [25, 30, 28],
data = {'Name': ['Alice', 'Bob', 'Charlie'],
         'শহর': ['ঢাকা', 'চট্টগ্রাম', 'খুলনা']}
         'Age': [25, 30, 28],
         'City': ['New York', 'London', 'Paris']}


df = pd.DataFrame(data)
df = pd.DataFrame(data)
Line 61: Line 56:
```
```


লিস্ট থেকে:
CSV ফাইল:


```python
```python
import pandas as pd
df = pd.read_csv('data.csv')
 
data = [['Alice', 25, 'New York'],
        ['Bob', 30, 'London'],
        ['Charlie', 28, 'Paris']]
 
df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)
print(df)
```
```
CSV ফাইল থেকে:
 
Excel ফাইল:


```python
```python
import pandas as pd
df = pd.read_excel('data.xlsx')
 
df = pd.read_csv('data.csv')
print(df)
print(df)
```
```


=== ডেটাফ্রেমের বেসিক অপারেশন ===
== ডেটাফ্রেমের মৌলিক অপারেশন ==
 
পান্ডাস ডেটাফ্রেমের উপর বিভিন্ন ধরনের অপারেশন করা যায়। নিচে কয়েকটি মৌলিক অপারেশন আলোচনা করা হলো:


*  ডেটা দেখা:
*  ডেটা দেখা:
    *  `df.head()`: ডেটাফ্রেমের প্রথম কয়েকটি সারি দেখায়।
    *  `df.tail()`: ডেটাফ্রেমের শেষ কয়েকটি সারি দেখায়।
    *  `df.info()`: ডেটাফ্রেমের তথ্য (যেমন কলামের নাম, ডেটা টাইপ, নাল ভ্যালু) দেখায়।
    *  `df.describe()`: ডেটাফ্রেমের সংখ্যাগত কলামগুলির পরিসংখ্যানিক সারসংক্ষেপ দেখায়।


    *  `df.head()`: প্রথম কয়েকটি সারি দেখায়।
    *  `df.tail()`: শেষ কয়েকটি সারি দেখায়।
    *  `df.info()`: ডেটাফ্রেমের তথ্য দেখায়, যেমন কলামের নাম, ডেটা টাইপ, এবং অনুপস্থিত মানের সংখ্যা।
    *  `df.describe()`: সংখ্যাসূচক কলামগুলির পরিসংখ্যানিক সারসংক্ষেপ দেখায়।
*  ডেটা নির্বাচন:
*  ডেটা নির্বাচন:
    *  `df['column_name']`: একটি নির্দিষ্ট কলাম নির্বাচন করে।
    *  `df.loc[row_label, column_label]`: লেবেল ব্যবহার করে ডেটা নির্বাচন করে।
    *  `df.iloc[row_index, column_index]`: ইন্ডেক্স ব্যবহার করে ডেটা নির্বাচন করে।


    *  `df['নাম']`: 'নাম' কলামটি নির্বাচন করে।
    *  `df.loc[0]`: প্রথম সারি নির্বাচন করে।
    *  `df.iloc[0]`: প্রথম সারি নির্বাচন করে (সংখ্যাসূচক ইন্ডেক্স ব্যবহার করে)।
    *  `df.loc[0:2, ['নাম', 'বয়স']]`: প্রথম তিনটি সারির 'নাম' এবং 'বয়স' কলাম নির্বাচন করে।
*  ডেটা ফিল্টার করা:
*  ডেটা ফিল্টার করা:


```python
```python
import pandas as pd
df[df['বয়স'] > 25]
 
```
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 28, 22],
        'City': ['New York', 'London', 'Paris', 'Tokyo']}
 
df = pd.DataFrame(data)


filtered_df = df[df['Age'] > 25]
এই কোডটি ২৫ বছরের বেশি বয়সীদের সারিগুলো ফিল্টার করে দেখাবে।
print(filtered_df)
```


*  নতুন কলাম যোগ করা:
*  নতুন কলাম যোগ করা:


```python
```python
import pandas as pd
df['নতুন_কলাম'] = [1, 2, 3]
 
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 28]}
 
df = pd.DataFrame(data)
 
df['City'] = ['New York', 'London', 'Paris']
print(df)
```
```


ডেটা সাজানো:
কলাম বাদ দেওয়া:


```python
```python
import pandas as pd
df = df.drop('নতুন_কলাম', axis=1)
 
```
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 28]}


df = pd.DataFrame(data)
== ডেটা পরিষ্কারকরণ ==


sorted_df = df.sort_values(by='Age')
*  অনুপস্থিত মান (Missing Values) পরিচালনা:
print(sorted_df)
```


=== ডেটা পরিষ্কার করা ===
    *  `df.isnull()`: অনুপস্থিত মানগুলি সনাক্ত করে।
    *  `df.fillna(0)`: অনুপস্থিত মানগুলি 0 দিয়ে পূরণ করে।
    *  `df.dropna()`: অনুপস্থিত মানযুক্ত সারিগুলি বাদ দেয়।
*  ডুপ্লিকেট ডেটা (Duplicate Data) পরিচালনা:


ডেটা পরিষ্কার করা ডেটা বিশ্লেষণের একটি গুরুত্বপূর্ণ অংশ। পান্ডাস ডেটা পরিষ্কার করার জন্য বিভিন্ন সরঞ্জাম সরবরাহ করে:
    *  `df.duplicated()`: ডুপ্লিকেট সারিগুলি সনাক্ত করে।
    *  `df.drop_duplicates()`: ডুপ্লিকেট সারিগুলি বাদ দেয়।


*  নাল ভ্যালু (Null Values) হ্যান্ডেল করা:
== ডেটা রূপান্তর ==
    *  `df.isnull()`: নাল ভ্যালু আছে কিনা তা সনাক্ত করে।
    *  `df.fillna(value)`: নাল ভ্যালুগুলিকে একটি নির্দিষ্ট মান দিয়ে পূরণ করে।
    *  `df.dropna()`: নাল ভ্যালুযুক্ত সারি বা কলামগুলি সরিয়ে দেয়।


ডুপ্লিকেট ভ্যালু (Duplicate Values) হ্যান্ডেল করা:
ডেটা টাইপ পরিবর্তন:


```python
```python
import pandas as pd
df['বয়স'] = df['বয়স'].astype(int)
```


data = {'Name': ['Alice', 'Bob', 'Alice', 'Charlie'],
*  স্ট্রিং ম্যানিপুলেশন:
        'Age': [25, 30, 25, 28]}


df = pd.DataFrame(data)
```python
 
df['নাম'] = df['নাম'].str.upper()
df.drop_duplicates(inplace=True)
print(df)
```
```


ডেটা টাইপ পরিবর্তন করা:
তারিখ এবং সময় (Date and Time) ম্যানিপুলেশন:


```python
```python
import pandas as pd
df['তারিখ'] = pd.to_datetime(df['তারিখ'])
```


data = {'Age': ['25', '30', '28']}
== ডেটা বিশ্লেষণ ==


df = pd.DataFrame(data)
*  গ্রুপিং (Grouping):


df['Age'] = df['Age'].astype(int)
```python
print(df.dtypes)
df.groupby('শহর')['বয়স'].mean()
```
```


=== ডেটা একত্রীকরণ এবং রূপান্তর ===
এই কোডটি শহরের ভিত্তিতে বয়সের গড় গণনা করে।


পান্ডাস একাধিক ডেটাফ্রেমকে একত্রীকরণ এবং ডেটা রূপান্তর করার জন্য শক্তিশালী সরঞ্জাম সরবরাহ করে:
*  সর্টিং (Sorting):


*  মার্জ (Merge): দুটি ডেটাফ্রেমকে একটি সাধারণ কলামের ভিত্তিতে একত্রিত করে। [[ডেটা মার্জ]] একটি গুরুত্বপূর্ণ কৌশল।
```python
*  কConcatenate: দুটি ডেটাফ্রেমকে সারি বা কলাম অনুসারে যুক্ত করে।
df.sort_values(by='বয়স', ascending=False)
*  পিভট (Pivot): ডেটাফ্রেমকে পুনরায় আকার দেয়।
```
*  গ্রুপবাই (Groupby): ডেটাফ্রেমকে একটি বা একাধিক কলামের ভিত্তিতে গ্রুপ করে এবং সমষ্টিগত ফাংশন প্রয়োগ করে। [[গ্রুপবাই অপারেশন]] ডেটা বিশ্লেষণের জন্য খুবই গুরুত্বপূর্ণ।


=== ডেটা ভিজ্যুয়ালাইজেশন ===
এই কোডটি বয়সের ভিত্তিতে ডেটাফ্রেমকে সাজায়।


পান্ডাস ডেটা ভিজ্যুয়ালাইজেশনের জন্য ম্যাটপ্লটলিব (Matplotlib) এবং সিবর্ন (Seaborn) এর সাথে সমন্বিতভাবে কাজ করে। আপনি সরাসরি পান্ডাস ডেটাফ্রেম থেকে বিভিন্ন ধরনের প্লট তৈরি করতে পারেন:
*  এগ্রিগেশন (Aggregation):


*  লাইন প্লট (Line Plot)
```python
*  বার প্লট (Bar Plot)
df.agg({'বয়স': 'mean', 'শহর': 'count'})
*  হিস্টোগ্রাম (Histogram)
```
*  স্ক্যাটার প্লট (Scatter Plot)
*  বক্স প্লট (Box Plot)
 
=== পান্ডাসের কিছু অতিরিক্ত বৈশিষ্ট্য ===
 
*  টাইম সিরিজ ডেটা নিয়ে কাজ করার জন্য বিশেষ সুবিধা রয়েছে। [[টাইম সিরিজ বিশ্লেষণ]] এর জন্য পান্ডাস খুবই উপযোগী।
*  বিভিন্ন ফাইল ফরম্যাট (যেমন JSON, HTML) থেকে ডেটা লোড করার ক্ষমতা।
*  উন্নত ইন্ডেক্সিং এবং ডেটা অ্যালাইনমেন্টের সুবিধা।
*  কাস্টম ফাংশন তৈরি এবং প্রয়োগ করার ক্ষমতা।
 
পান্ডাস একটি শক্তিশালী এবং নমনীয় লাইব্রেরি, যা ডেটা বিশ্লেষণ এবং ম্যানিপুলেশনের কাজকে অনেক সহজ করে দেয়। ডেটা বিজ্ঞান এবং বিশ্লেষণের ক্ষেত্রে এটি একটি অপরিহার্য হাতিয়ার।


=== আরও জানার জন্য ===
এই কোডটি বয়সের গড় এবং শহরের সংখ্যা গণনা করে।


*  পান্ডাস এর অফিসিয়াল ডকুমেন্টেশন: [https://pandas.pydata.org/docs/](https://pandas.pydata.org/docs/)
== পান্ডাসের সাথে সম্পর্কিত অন্যান্য গুরুত্বপূর্ণ বিষয় ==
*  পান্ডাস টিউটোরিয়াল: [https://pandas.pydata.org/pandas-docs/stable/getting_started/tutorials.html](https://pandas.pydata.org/pandas-docs/stable/getting_started/tutorials.html)
*  ডেটা ক্যাম্প: [https://www.datacamp.com/courses/pandas-tutorial](https://www.datacamp.com/courses/pandas-tutorial)


এই নিবন্ধটি পান্ডাসের মূল বিষয়গুলির একটি সংক্ষিপ্ত পরিচিতি। আরও বিস্তারিত জানার জন্য, অনুগ্রহ করে উপরের লিঙ্কগুলি অনুসরণ করুন।
*  [[NumPy]]: পান্ডাসের ভিত্তি।
*  [[Matplotlib]]: ডেটা ভিজুয়ালাইজেশনের জন্য ব্যবহৃত হয়।
*  [[Seaborn]]: আরও উন্নত ডেটা ভিজুয়ালাইজেশনের জন্য ব্যবহৃত হয়।
*  [[Scikit-learn]]: মেশিন লার্নিং মডেল তৈরির জন্য ব্যবহৃত হয়।
*  [[SQL]]: ডেটাবেস থেকে ডেটা আনার জন্য ব্যবহৃত হয়।
*  [[CSV]]: ডেটা সংরক্ষণের জন্য একটি সাধারণ ফরম্যাট।
*  [[Excel]]: স্প্রেডশিট প্রোগ্রাম।
*  [[ডেটা ভিজুয়ালাইজেশন]]: ডেটাকে গ্রাফের মাধ্যমে উপস্থাপন করা।
*  [[মেশিন লার্নিং]]: ডেটা থেকে জ্ঞান আহরণ করার প্রক্রিয়া।
*  [[ডেটা মাইনিং]]: বড় ডেটাসেট থেকে প্যাটার্ন খুঁজে বের করা।
*  [[পরিসংখ্যান]]: ডেটা বিশ্লেষণের মূল ভিত্তি।
*  [[সম্ভাব্যতা]]: ডেটার অনিশ্চয়তা পরিমাপ করার উপায়।
*  [[রৈখিক বীজগণিত]]: ডেটা ম্যানিপুলেশনের জন্য প্রয়োজনীয় গাণিতিক ধারণা।
*  [[ক্যালকুলাস]]: ডেটার পরিবর্তন এবং হার বোঝার জন্য প্রয়োজনীয়।
*  [[অপ্টিমাইজেশন]]: সেরা ফলাফল খুঁজে বের করার প্রক্রিয়া।
*  [[টাইম সিরিজ বিশ্লেষণ]]: সময়ের সাথে ডেটার পরিবর্তন বিশ্লেষণ করা।
*  [[ভলিউম বিশ্লেষণ]]: বাজারের গতিবিধি বোঝার জন্য ভলিউমের ব্যবহার।
*  [[টেকনিক্যাল বিশ্লেষণ]]: ঐতিহাসিক ডেটার উপর ভিত্তি করে ভবিষ্যৎ বাজারের পূর্বাভাস দেওয়া।
*  [[ঝুঁকি ব্যবস্থাপনা]]: বিনিয়োগের ঝুঁকি কমানোর কৌশল।


[[ডেটা বিশ্লেষণ]]
পান্ডাস একটি শক্তিশালী এবং নমনীয় লাইব্রেরি, যা ডেটা বিশ্লেষণের কাজকে অনেক সহজ করে দেয়। এর বহুমুখী ব্যবহার এটিকে ডেটা বিজ্ঞানীদের জন্য একটি অপরিহার্য হাতিয়ার করে তুলেছে।
[[পাইথন প্রোগ্রামিং]]
[[মেশিন লার্নিং]]
[[ডেটা ভিজ্যুয়ালাইজেশন]]
[[SQL]]
[[ডেটাবেস ম্যানেজমেন্ট]]
[[পরিসংখ্যান]]
[[ম্যাটপ্লটলিব]]
[[সিবর্ন]]
[[নুম্পাই]]
[[ডেটা স্ট্রাকচার]]
[[অ্যালগরিদম]]
[[বাইনারি অপশন ট্রেডিং]]
[[টেকনিক্যাল অ্যানালাইসিস]]
[[ভলিউম বিশ্লেষণ]]
[[ঝুঁকি ব্যবস্থাপনা]]
[[ফিনান্সিয়াল মডেলিং]]
[[পোর্টফোলিও ম্যানেজমেন্ট]]
[[মার্কেটিং বিশ্লেষণ]]
[[ওয়েব স্ক্র্যাপিং]]
[[বিগ ডেটা]]
[[ক্লাউড কম্পিউটিং]]


[[Category:পান্ডাস]]
[[Category:পান্ডাস]]

Latest revision as of 10:55, 23 April 2025

পান্ডাস ডেটা বিশ্লেষণ এবং ম্যানিপুলেশন

পান্ডাস (Pandas) হল পাইথনের একটি বহুল ব্যবহৃত ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের লাইব্রেরি। এটি ডেটা স্ট্রাকচার এবং ডেটা বিশ্লেষণের সরঞ্জাম সরবরাহ করে, যা ব্যবহার করে ডেটা পরিষ্কার, রূপান্তর এবং বিশ্লেষণ করা যায়। পান্ডাস বিশেষভাবে টেবুলার ডেটা (tabular data) যেমন স্প্রেডশিট বা SQL ডেটাবেস-এর সাথে কাজ করার জন্য ডিজাইন করা হয়েছে। এই লাইব্রেরিটি ডেটা বিজ্ঞানী, বিশ্লেষক এবং প্রকৌশলীদের মধ্যে অত্যন্ত জনপ্রিয়।

পান্ডাসের মূল ডেটা স্ট্রাকচার

পান্ডাস মূলত দুটি ডেটা স্ট্রাকচার ব্যবহার করে:

  • সিরিজ (Series): একটি এক-মাত্রিক লেবেলযুক্ত অ্যারে যা যেকোনো ডেটা টাইপ (যেমন ইন্টিজার, স্ট্রিং, ফ্লোট, ইত্যাদি) ধারণ করতে পারে। এটি একটি কলামের মতো, যেখানে প্রতিটি ডেটা একটি ইন্ডেক্স দ্বারা চিহ্নিত করা হয়। ডেটা টাইপ সম্পর্কে আরও জানতে পারেন।
  • ডেটাফ্রেম (DataFrame): একটি দুই-মাত্রিক লেবেলযুক্ত ডেটা স্ট্রাকচার, যা সারি এবং কলামে ডেটা ধারণ করে। এটি স্প্রেডশিটের মতো, যেখানে প্রতিটি কলাম একটি সিরিজ এবং প্রতিটি সারি একটি অবজারভেশন। স্প্রেডশিট এর গঠন সম্পর্কে ধারণা থাকলে এটি বুঝতে সুবিধা হবে।
পান্ডাসের ডেটা স্ট্রাকচার
ডেটা স্ট্রাকচার বিবরণ উদাহরণ
সিরিজ (Series) এক-মাত্রিক লেবেলযুক্ত অ্যারে `pd.Series([1, 2, 3, 4, 5])` ডেটাফ্রেম (DataFrame) দুই-মাত্রিক লেবেলযুক্ত ডেটা স্ট্রাকচার `pd.DataFrame({'নাম': ['আকাশ', 'বাতাস', 'নদী'], 'বয়স': [25, 30, 28]})`

পান্ডাস ব্যবহারের সুবিধা

  • সহজ সিনট্যাক্স: পান্ডাসের সিনট্যাক্স সহজ এবং ব্যবহারবান্ধব, যা ডেটা ম্যানিপুলেশনকে সহজ করে তোলে।
  • ডেটা পরিষ্কারকরণ: পান্ডাস ডেটা থেকে অনুপস্থিত মান (missing values) এবং ভুল ডেটা (incorrect data) সনাক্ত এবং অপসারণ করতে সাহায্য করে। ডেটা পরিষ্কারকরণ একটি গুরুত্বপূর্ণ পদক্ষেপ।
  • ডেটা রূপান্তর: পান্ডাস ডেটাকে বিভিন্ন ফরম্যাটে রূপান্তর করতে পারে, যেমন CSV, Excel, SQL, ইত্যাদি। ডেটা রূপান্তর ডেটা বিশ্লেষণের জন্য অপরিহার্য।
  • ডেটা বিশ্লেষণ: পান্ডাস ডেটার ওপর বিভিন্ন পরিসংখ্যানিক বিশ্লেষণ (statistical analysis) করতে পারে, যেমন গড়, মধ্যমা, মোড, ইত্যাদি। পরিসংখ্যানিক বিশ্লেষণ এর মাধ্যমে ডেটা থেকে মূল্যবান তথ্য বের করা যায়।
  • দ্রুত কর্মক্ষমতা: পান্ডাস অভ্যন্তরীণভাবে NumPy ব্যবহার করে, যা দ্রুত গাণিতিক অপারেশন করতে সক্ষম। NumPy পান্ডাসের ভিত্তি হিসেবে কাজ করে।

পান্ডাস ইন্সটল এবং ইম্পোর্ট করা

পান্ডাস ইন্সটল করার জন্য, আপনি pip ব্যবহার করতে পারেন:

```bash pip install pandas ```

ইম্পোর্ট করার জন্য:

```python import pandas as pd ```

ডেটাফ্রেম তৈরি করা

ডেটাফ্রেম বিভিন্ন উৎস থেকে তৈরি করা যেতে পারে, যেমন:

  • ডিকশনারি (Dictionary):

```python data = {'নাম': ['আকাশ', 'বাতাস', 'নদী'],

       'বয়স': [25, 30, 28],
       'শহর': ['ঢাকা', 'চট্টগ্রাম', 'খুলনা']}

df = pd.DataFrame(data) print(df) ```

  • CSV ফাইল:

```python df = pd.read_csv('data.csv') print(df) ```

  • Excel ফাইল:

```python df = pd.read_excel('data.xlsx') print(df) ```

ডেটাফ্রেমের মৌলিক অপারেশন

  • ডেটা দেখা:
   *   `df.head()`: প্রথম কয়েকটি সারি দেখায়।
   *   `df.tail()`: শেষ কয়েকটি সারি দেখায়।
   *   `df.info()`: ডেটাফ্রেমের তথ্য দেখায়, যেমন কলামের নাম, ডেটা টাইপ, এবং অনুপস্থিত মানের সংখ্যা।
   *   `df.describe()`: সংখ্যাসূচক কলামগুলির পরিসংখ্যানিক সারসংক্ষেপ দেখায়।
  • ডেটা নির্বাচন:
   *   `df['নাম']`: 'নাম' কলামটি নির্বাচন করে।
   *   `df.loc[0]`: প্রথম সারি নির্বাচন করে।
   *   `df.iloc[0]`: প্রথম সারি নির্বাচন করে (সংখ্যাসূচক ইন্ডেক্স ব্যবহার করে)।
   *   `df.loc[0:2, ['নাম', 'বয়স']]`: প্রথম তিনটি সারির 'নাম' এবং 'বয়স' কলাম নির্বাচন করে।
  • ডেটা ফিল্টার করা:

```python df[df['বয়স'] > 25] ```

এই কোডটি ২৫ বছরের বেশি বয়সীদের সারিগুলো ফিল্টার করে দেখাবে।

  • নতুন কলাম যোগ করা:

```python df['নতুন_কলাম'] = [1, 2, 3] ```

  • কলাম বাদ দেওয়া:

```python df = df.drop('নতুন_কলাম', axis=1) ```

ডেটা পরিষ্কারকরণ

  • অনুপস্থিত মান (Missing Values) পরিচালনা:
   *   `df.isnull()`: অনুপস্থিত মানগুলি সনাক্ত করে।
   *   `df.fillna(0)`: অনুপস্থিত মানগুলি 0 দিয়ে পূরণ করে।
   *   `df.dropna()`: অনুপস্থিত মানযুক্ত সারিগুলি বাদ দেয়।
  • ডুপ্লিকেট ডেটা (Duplicate Data) পরিচালনা:
   *   `df.duplicated()`: ডুপ্লিকেট সারিগুলি সনাক্ত করে।
   *   `df.drop_duplicates()`: ডুপ্লিকেট সারিগুলি বাদ দেয়।

ডেটা রূপান্তর

  • ডেটা টাইপ পরিবর্তন:

```python df['বয়স'] = df['বয়স'].astype(int) ```

  • স্ট্রিং ম্যানিপুলেশন:

```python df['নাম'] = df['নাম'].str.upper() ```

  • তারিখ এবং সময় (Date and Time) ম্যানিপুলেশন:

```python df['তারিখ'] = pd.to_datetime(df['তারিখ']) ```

ডেটা বিশ্লেষণ

  • গ্রুপিং (Grouping):

```python df.groupby('শহর')['বয়স'].mean() ```

এই কোডটি শহরের ভিত্তিতে বয়সের গড় গণনা করে।

  • সর্টিং (Sorting):

```python df.sort_values(by='বয়স', ascending=False) ```

এই কোডটি বয়সের ভিত্তিতে ডেটাফ্রেমকে সাজায়।

  • এগ্রিগেশন (Aggregation):

```python df.agg({'বয়স': 'mean', 'শহর': 'count'}) ```

এই কোডটি বয়সের গড় এবং শহরের সংখ্যা গণনা করে।

পান্ডাসের সাথে সম্পর্কিত অন্যান্য গুরুত্বপূর্ণ বিষয়

পান্ডাস একটি শক্তিশালী এবং নমনীয় লাইব্রেরি, যা ডেটা বিশ্লেষণের কাজকে অনেক সহজ করে দেয়। এর বহুমুখী ব্যবহার এটিকে ডেটা বিজ্ঞানীদের জন্য একটি অপরিহার্য হাতিয়ার করে তুলেছে।

এখনই ট্রেডিং শুরু করুন

IQ Option-এ নিবন্ধন করুন (সর্বনিম্ন ডিপোজিট $10) Pocket Option-এ অ্যাকাউন্ট খুলুন (সর্বনিম্ন ডিপোজিট $5)

আমাদের সম্প্রদায়ে যোগ দিন

আমাদের টেলিগ্রাম চ্যানেলে যোগ দিন @strategybin এবং পান: ✓ দৈনিক ট্রেডিং সংকেত ✓ একচেটিয়া কৌশলগত বিশ্লেষণ ✓ বাজারের প্রবণতা সম্পর্কে বিজ্ঞপ্তি ✓ নতুনদের জন্য শিক্ষামূলক উপকরণ

Баннер