পান্ডাস ওয়েস ম্যাককিনির(Wes McKinney) দ্বারা নির্মিত একটি উচ্চ-স্তরের ডেটা ম্যানিপুলেশন সরঞ্জাম। এটি নম্পি প্যাকেজটিতে নির্মিত এবং এর মূল ডেটা কাঠামোটিকে ডেটাফ্রেম বলা হয়। ডেটা ফ্রেমগুলি আপনাকে ভেরিয়েবলের সারি এবং কলামগুলির সারিগুলিতে টবুলার ডেটা সংরক্ষণ এবং ম্যানিপুলেট করতে দেয়।
ডেটা ফ্রেম তৈরির বিভিন্ন উপায় রয়েছে। একটি উপায় হ’ল অভিধান ব্যবহার করা। উদাহরণ স্বরূপ:
dict = {"country": ["Brazil", "Russia", "India", "China", "South Africa"],
"capital": ["Brasilia", "Moscow", "New Dehli", "Beijing", "Pretoria"],
"area": [8.516, 17.10, 3.286, 9.597, 1.221],
"population": [200.4, 143.5, 1252, 1357, 52.98] }
import pandas as pd
brics = pd.DataFrame(dict)
print(brics)
ফলাফল:
country capital area population
0 Brazil Brasilia 8.516 200.40
1 Russia Moscow 17.100 143.50
2 India New Dehli 3.286 1252.00
3 China Beijing 9.597 1357.00
4 South Africa Pretoria 1.221 52.98
আপনি যেমন নতুন BRICS DataFrame এর সাথে দেখতে পাচ্ছেন, পান্ডাস প্রতিটি Country এর জন্য একটি জাতীয় সংখ্যা 0 থেকে 4 এর মধ্যে নির্ধারণ করেছেন যেমন,
dict = {"country": ["Brazil", "Russia", "India", "China", "South Africa"],
"capital": ["Brasilia", "Moscow", "New Dehli", "Beijing", "Pretoria"],
"area": [8.516, 17.10, 3.286, 9.597, 1.221],
"population": [200.4, 143.5, 1252, 1357, 52.98] }
import pandas as pd
brics = pd.DataFrame(dict)
brics.index = ["BR", "RU", "IN", "CH", "SA"]
print(brics)
ফলাফল:
country capital area population
BR Brazil Brasilia 8.516 200.40
RU Russia Moscow 17.100 143.50
IN India New Dehli 3.286 1252.00
CH China Beijing 9.597 1357.00
SA South Africa Pretoria 1.221 52.98
ডেটাফ্রেম তৈরির আরেকটি উপায় হ’ল পান্ডাস(Pandas) ব্যবহার করে কোনও CSV ফাইল ইমপোর্ট করা। এখন, CSV car.csv সঞ্চিত রয়েছে এবং pd.read_csv ব্যবহার করে ইমপোর্ট করা যায়:
# Import pandas as pd
import pandas as pd
# Import the cars.csv data: cars
cars = pd.read_csv('cars.csv')
# Print out cars
print(cars)
ফলাফল:
Unnamed: 0 cars_per_cap country drives_right
0 US 809 United States True
1 AUS 731 Australia False
2 JAP 588 Japan False
3 IN 18 India False
4 RU 200 Russia True
5 MOR 70 Morocco True
6 EG 45 Egypt True
ইনডেক্সিং DataFrames
পান্ডাস ডেটা ফ্রেমকে সূচিকরণের বিভিন্ন উপায় রয়েছে। এটি করার সহজতম উপায়গুলির মধ্যে একটি হল স্কোয়ার ব্র্যাকেট [] ব্যবহার করে।
নীচের উদাহরণে, আপনি car ডেটা ফ্রেমের একটি কলাম নির্বাচন করতে স্কয়ার ব্রাকেট ব্যবহার করতে পারেন। আপনি হয় একক বন্ধনী বা ডাবল বন্ধনী ব্যবহার করতে পারেন। একক বন্ধনী বন্ধনী একটি পান্ডাস সিরিজ আউটপুট দেবে, যখন একটি ডাবল বন্ধনী একটি পান্ডাস ডেটা ফ্রেম আউটপুট দেবে।
# Import pandas and cars.csv
import pandas as pd
cars = pd.read_csv('cars.csv', index_col = 0)
# Print out country column as Pandas Series
print(cars['cars_per_cap'])
# Print out country column as Pandas DataFrame
print(cars[['cars_per_cap']])
# Print out DataFrame with country and drives_right columns
print(cars[['cars_per_cap', 'country']])
ফলাফল:
US 809
AUS 731
JAP 588
IN 18
RU 200
MOR 70
EG 45
Name: cars_per_cap, dtype: int64
cars_per_cap
US 809
AUS 731
JAP 588
IN 18
RU 200
MOR 70
EG 45
cars_per_cap country
US 809 United States
AUS 731 Australia
JAP 588 Japan
IN 18 India
RU 200 Russia
MOR 70 Morocco
EG 45 Egypt
স্কোয়ার বন্ধনীগুলি ডেটা ফ্রেম থেকে পর্যবেক্ষণ (সারি) অ্যাক্সেস করতে ব্যবহার করা যেতে পারে। উদাহরণ স্বরূপ:
# Import cars data
import pandas as pd
cars = pd.read_csv('cars.csv', index_col = 0)
# Print out first 4 observations
print(cars[0:4])
# Print out fifth and sixth observation
print(cars[4:6])
ফলাফল:
cars_per_cap country drives_right
US 809 United States True
AUS 731 Australia False
JAP 588 Japan False
IN 18 India False
cars_per_cap country drives_right
RU 200 Russia True
MOR 70 Morocco True
আপনি প্রায় যেকোনও ডেটা নির্বাচন অপারেশন করতে loc এবং iloc ব্যবহার করতে পারেন। loc হল লেবেল ভিত্তিক, যার অর্থ আপনাকে সারি এবং কলামগুলি তাদের সারি এবং কলাম লেবেলের ভিত্তিতে নির্দিষ্ট করতে হবে। iloc হল পূর্ণসংখ্যা(integer) সূচক ভিত্তিক, সুতরাং আপনাকে তাদের পূর্ণসংখ্য সূচক দ্বারা সারি এবং কলামগুলি নির্দিষ্ট করতে হবে।
# Import cars data
import pandas as pd
cars = pd.read_csv('cars.csv', index_col = 0)
# Print out observation for Japan
print(cars.iloc[2])
# Print out observations for Australia and Egypt
print(cars.loc[['AUS', 'EG']])
ফলাফল:
cars_per_cap 588
country Japan
drives_right False
Name: JAP, dtype: object
cars_per_cap country drives_right
AUS 731 Australia False
EG 45 Egypt True