Course 01 – Data Analytics / Data Science Basics

Module 04 – Data Handling with Pandas

Python හි මූලික කරුණු ඉගෙන ගත් ඔබට, දැන් දත්ත විශ්ලේෂණයේදී අපගේ ප්‍රබලම සහයකයා වන **Pandas** library එක හඳුන්වා දීමට කාලයයි. Pandas යනු Python සඳහා නිර්මාණය කරන ලද, අධි-ක්‍රියාකාරී, පහසුවෙන් භාවිතා කළ හැකි දත්ත ව්‍යුහයන් (data structures) සහ දත්ත විශ්ලේෂණ මෙවලම් සපයන විවෘත මූලාශ්‍ර පුස්තකාලයකි (open-source library).

සරල උපමාවක්: Pandas යනු Excel හෝ Google Sheets වැනි spreadsheet මෘදුකාංගයක ඇති හැකියාවන්, Python programming වල නම්‍යශීලීත්වය සහ බලය සමඟ ඒකාබද්ධ කරන මෙවලමක් ලෙස සිතන්න. විශාල දත්ත කට්ටල (large datasets) පහසුවෙන් හැසිරවීමට, පිරිසිදු කිරීමට, පරිවර්තනය කිරීමට සහ විශ්ලේෂණය කිරීමට Pandas අපට ඉඩ සලසයි.


Pandas හි මූලික Data Structures

Pandas හි ප්‍රධාන වශයෙන් භාවිතා වන data structures දෙකක් තිබේ. ඒවා නම් **Series** සහ **DataFrame** යි.

1. Pandas Series

Series එකක් යනු **එක්-මාන (one-dimensional)**, ලේබල් කරන ලද array එකකි. සරලවම කිවහොත්, මෙය Excel sheet එකක ඇති **තනි තීරුවක් (single column)** වැනිය. සෑම අංගයකටම index එකක් ඇත, එය හරියට පේළි අංකයක් වැනිය.

import pandas as pd # සාමාන්‍ය Python list එකකින් Pandas Series එකක් සෑදීම student_names = ['Kasun', 'Nimali', 'Ruwan', 'Fathima'] s = pd.Series(student_names) print(s)

මෙම කේතය ක්‍රියාත්මක කළ විට, ඔබට එක් එක් නමට අදාළව 0, 1, 2, 3 ලෙස index අංකද පෙනෙනු ඇත.

2. Pandas DataFrame

DataFrame යනු Pandas හි ඇති වැදගත්ම සහ බහුලවම භාවිතා වන data structure එකයි. මෙය **දෙමාන (two-dimensional)**, ලේබල් කරන ලද ව්‍යුහයක් වන අතර, විවිධ වර්ගයේ තීරු (columns) වලින් සමන්විත විය හැක. සරලවම, මෙය Excel sheet එකක ඇති **සම්පූර්ණ වගුවක් (entire table)** වැනිය. ഇതിന് පේළි (rows) සහ තීරු (columns) දෙකම ඇත.

DataFrame එකක් Python dictionary එකකින් පහසුවෙන් සෑදිය හැක:

import pandas as pd # Dictionary එකක් නිර්මාණය කිරීම student_data = { 'Name': ['Kasun', 'Nimali', 'Ruwan', 'Fathima'], 'Age': [21, 23, 22, 24], 'City': ['Colombo', 'Kandy', 'Galle', 'Jaffna'] } # Dictionary එකෙන් DataFrame එකක් සෑදීම df = pd.DataFrame(student_data) print(df)

ඉහත කේතය ක්‍රියාත්මක කළ විට, ඔබට පිළිවෙලට සකස් කළ වගුවක් පෙනෙනු ඇත.


Data Import සහ Export කිරීම

සැබෑ ලෝකයේදී, අපට දත්ත බොහෝ විට CSV, Excel, හෝ JSON වැනි files ලෙස ලැබේ. Pandas භාවිතයෙන් මෙම files ඉතා පහසුවෙන් DataFrame එකකට import කරගත හැකිය.

CSV File එකකින් දත්ත ලබාගැනීම

CSV (Comma-Separated Values) යනු දත්ත විශ්ලේෂණයේදී බහුලවම හමුවන file format එකකි. `pd.read_csv()` function එක භාවිතයෙන් CSV file එකක දත්ත DataFrame එකකට ලබාගත හැක.

# 'sales_data.csv' නමැති file එක DataFrame එකකට load කිරීම # මෙම file එක, ඔබගේ Jupyter Notebook file එක ඇති folder එකේම තිබිය යුතුය. sales_df = pd.read_csv('sales_data.csv') # DataFrame එකේ මුල් පේළි 5 බැලීම print(sales_df.head())
Excel File එකකින් දත්ත ලබාගැනීම

Excel files (.xlsx) වලින් දත්ත ලබාගැනීමට `pd.read_excel()` function එක භාවිතා කරයි.

# 'student_marks.xlsx' නමැති file එක DataFrame එකකට load කිරීම marks_df = pd.read_excel('student_marks.xlsx') # DataFrame එකේ මුල් පේළි 5 බැලීම print(marks_df.head())

ඒ ආකාරයටම, අප විසින් සකස් කළ DataFrame එකක් `df.to_csv('new_file.csv')` වැනි commands මගින් නැවත CSV හෝ Excel file එකක් ලෙස save (export) කළ හැක.


මූලික මෙහෙයුම් (Basic Operations)

දත්ත DataFrame එකකට ලබාගත් පසු, එය ගවේෂණය කිරීමට සහ හැසිරවීමට විවිධ functions භාවිතා කළ හැකිය.

දත්ත දෙස බැලීම (Viewing Data)
  • `df.head()`: DataFrame එකේ මුල් පේළි 5 පෙන්වයි.
  • `df.tail()`: DataFrame එකේ අවසාන පේළි 5 පෙන්වයි.
  • `df.info()`: DataFrame එකේ තීරු, දත්ත වර්ග, සහ null නොවන අගයන් ගණන පිළිබඳ සාරාංශයක් ලබා දෙයි.
  • `df.describe()`: සංඛ්‍යාත්මක තීරු සඳහා මූලික සංඛ්‍යානමය තොරතුරු (mean, std, min, max) පෙන්වයි.
තීරු සහ පේළි තෝරාගැනීම (Selection)
# 'Name' නමැති තීරුව පමණක් තෝරාගැනීම names = df['Name'] # තීරු කිහිපයක් තෝරාගැනීම name_and_age = df[['Name', 'Age']] # index අංක 1 ඇති පේළිය තෝරාගැනීම (loc) row_one = df.loc[1]
දත්ත පෙරීම (Filtering)

යම්කිසි කොන්දේසියකට ගැලපෙන දත්ත පමණක් වෙන්කර ගැනීමට filtering භාවිතා කරයි.

# වයස 22 ට වැඩි ශිෂ්‍යයන් පමණක් තෝරාගැනීම seniors = df[df['Age'] > 22] print(seniors)
දත්ත අනුපිළිවෙලට සැකසීම (Sorting)

`sort_values()` function එක මගින් DataFrame එක, යම් තීරුවක අගයන්ට අනුව පිළිවෙලකට සකස් කළ හැක.

# වයස අනුව, වැඩිම වයසේ සිට අඩුම වයස දක්වා (descending) sort කිරීම sorted_df = df.sort_values(by='Age', ascending=False) print(sorted_df)

මෙම මූලික මෙහෙයුම්, දත්ත විශ්ලේෂණ ක්‍රියාවලියේ අත්තිවාරම වන අතර, ඉදිරි මොඩියුල වලදී මේවා තවදුරටත් ප්‍රයෝජනයට ගන්නා ආකාරය අපි ඉගෙන ගනිමු.

මෙම Module එකේදී...
  • Pandas Series සහ DataFrame හඳුනාගැනීම.
  • CSV සහ Excel файлів වලින් දත්ත Import කිරීම.
  • `head()`, `info()`, `describe()` භාවිතය.
  • දත්ත Filter, Sort, සහ Select කිරීම.
  • මූලික දත්ත හැසිරවීමේ ක්‍රමවේද.