جدول داده و DataFrame
آشنایی با ساختار داده جدولی، Series و DataFrame در pandas، ساخت DataFrame و دسترسی به سطرها و ستونها
داده در علم داده چه شکلی دارد؟
بیشتر دادههای علم داده جدولی هستند: سطرها و ستونها، درست مثل یک صفحه اکسل. هر سطر یک مشاهده (رکورد) است — مثلاً یک مشتری — و هر ستون یک ویژگی — مثلاً سن یا شهر.
| نام | شهر | سن | خرید (تومان) |
|---|---|---|---|
| سارا | تهران | ۲۵ | ۵۰۰٬۰۰۰ |
| امیر | شیراز | ۳۲ | ۱٬۲۰۰٬۰۰۰ |
| نگار | تبریز | ۲۸ | ۸۰۰٬۰۰۰ |
در زبان علم داده، به ستونها ویژگی (Feature) و در مسائل یادگیری نظارتشده به ستون هدف، برچسب (Label) میگویند.
Series و DataFrame در pandas
کتابخانه pandas دو ساختار اصلی دارد:
- Series: یک ستون داده (شبیه لیست، اما با اندیس)
- DataFrame: جدول کامل؛ مجموعهای از Series ها با اندیس مشترک
مثل این ببینید که DataFrame یک اکسل در حافظه پایتون است؛ اما با سرعت و قدرت برنامهنویسی!
ساخت DataFrame
رایجترین راه، ساخت از دیکشنری لیستهاست:
import pandas as pd
df = pd.DataFrame({
"name": ["سارا", "امیر", "نگار"],
"city": ["تهران", "شیراز", "تبریز"],
"age": [25, 32, 28]
})
دسترسی به دادهها
df["age"]← یک ستون (Series) را برمیگرداندdf.loc[0]← سطر با اندیس ۰ (برچسبمحور)df.iloc[0]← سطر اول (موقعیتمحور)df.shape← ابعاد جدول (سطر، ستون)df.columns← نام ستونهاdf.head(2)← دو سطر اول
تفاوت loc و iloc
| متد | مبنای انتخاب | مثال |
|---|---|---|
| loc | برچسب (label) سطر/ستون | df.loc[2, "age"] |
| iloc | موقعیت عددی (مثل لیست) | df.iloc[2, 2] |
وقتی اندیس پیشفرض (۰، ۱، ۲...) است، این دو شبیه بهنظر میرسند؛ اما بعد از فیلتر یا مرتبسازی، اندیسها عوض میشوند و تفاوت مهم میشود.
افزودن و حذف ستون
# افزودن ستون جدید
df["discount"] = [10, 5, 0]
# حذف ستون
df = df.drop(columns=["discount"])
نکته: pandas را با
pip install pandas نصب کنید. تمام مثالهای این بخش را در Jupyter Notebook یا Google Colab امتحان کنید تا خروجیها را ببینید.جمعبندی
- داده جدولی = سطر (مشاهده) × ستون (ویژگی)
- Series یک ستون است؛ DataFrame جدول کامل
- با loc برچسبمحور و با iloc موقعیتمحور انتخاب میکنیم
- DataFrame مثل اکسل، اما در حافظه پایتون و با قدرت کامل برنامهنویسی
این مبحث بخشی از دوره آموزش کامل علم داده است.