بکندباز

نحوه کار با تاریخ و زمان در Pandas

کتابخانه Pandas برای کار با تاریخ و زمان، ابزارهای مختلفی را فراهم می کند که بسیار قابل استفاده هستند. در اینجا به برخی از این ابزارها اشاره خواهیم کرد:

تبدیل رشته به تاریخ

می‌توانید از تابع pd.to_datetime() برای تبدیل رشته‌های مربوط به تاریخ و زمان به تاریخ و زمان Pandas استفاده کنید. این تابع پارامتر‌هایی مانند فرمت تاریخ و محل قرار گرفتن سال، ماه و روز را نیز قابل تنظیم است. برای مثال:

import pandas as pd

dates = ['2022-04-01', '2022-04-02', '2022-04-03']
datetime_series = pd.to_datetime(dates)

print(datetime_series)

ساخت ستون تاریخ

با استفاده از تابع pd.date_range()، می‌توانید تاریخ‌ها را برای یک بازه زمانی مشخص ساخته و به صورت ستون به DataFrame اضافه کنید. برای مثال:

import pandas as pd

start_date = '2022-04-01'
end_date = '2022-04-05'
datetime_index = pd.date_range(start=start_date, end=end_date)

df = pd.DataFrame(index=datetime_index)
df['data'] = [10, 20, 30, 40, 50]

print(df)

انجام عملیات روی تاریخ و زمان

در Pandas، می‌توانید عملیات‌هایی مانند جمع یا تفریق دو تاریخ یا زمان را انجام دهید. همچنین می‌توانید فاصله زمانی بین دو تاریخ را محاسبه کنید. برای مثال:

import pandas as pd

dates = ['2022-04-01', '2022-04-05']
datetime_series = pd.to_datetime(dates)

delta = datetime_series.diff()

print(delta)

در این مثال، با استفاده از تابع pd.to_datetime()، دو رشته را به تاریخ و زمان Pandas تبدیل کرده‌ایم. سپس با استفاده از تابع diff()، فاصله زمانی بین دو تاریخ را محاسبه کرده و در متغیر delta ذخیره کرده ایم.

گروه‌بندی بر اساس تاریخ

با استفاده از تابع pd.Grouper()، می‌توانید داده‌ها را بر اساس تاریخ یا زمان گروه‌بندی کنید. برای مثال:

import pandas as pd

dates = pd.date_range('2022-04-01', periods=6)
df = pd.DataFrame({'date': dates, 'value': [1, 2, 3, 4, 5, 6]})

df.groupby(pd.Grouper(key='date', freq='2D')).sum()

در این مثال، ابتدا با استفاده از تابع pd.date_range()، یک سری تاریخ در بازه زمانی 6 روزه ایجاد کردیم. سپس با استفاده از تابع pd.DataFrame()، یک DataFrame ایجاد کردیم که شامل تاریخ‌ها و یک ستون مقدار است. سپس با استفاده از تابع pd.Grouper() و groupby()، داده‌ها را بر اساس دو روز گروه‌بندی کرده‌ایم و مجموع مقادیر را برای هر دو روز محاسبه کرده‌ایم.

فیلتر کردن بر اساس تاریخ

می‌توانید با استفاده از توابع loc() و iloc()، داده‌های مربوط به یک بازه زمانی خاص را از DataFrame استخراج کنید. برای مثال:

import pandas as pd

dates = pd.date_range('2022-04-01', periods=6)
df = pd.DataFrame({'date': dates, 'value': [1, 2, 3, 4, 5, 6]})

df.loc[(df['date'] >= '2022-04-02') & (df['date'] <= '2022-04-04')]

در این مثال، با استفاده از تابع pd.date_range()، یک سری تاریخ در بازه زمانی 6 روزه ایجاد کردیم. سپس با استفاده از تابع pd.DataFrame()، یک DataFrame ایجاد کردیم که شامل تاریخ‌ها و یک ستون مقدار است. سپس با استفاده از تابع loc() و &، داده‌هایی را که در بازه زمانی 2 تا 4 آورده شده‌اند، از DataFrame استخراج کرده‌ایم.

تغییر فرمت تاریخ

import pandas as pd

dates = pd.date_range('2022-04-01', periods=6)
df = pd.DataFrame({'date': dates, 'value': [1, 2, 3, 4, 5, 6]})

df['date'] = df['date'].dt.strftime('%m/%d/%Y')

در این مثال، با استفاده از تابع pd.date_range()، یک سری تاریخ در بازه زمانی 6 روزه ایجاد کردیم. سپس با استفاده از تابع pd.DataFrame()، یک DataFrame ایجاد کردیم که شامل تاریخ‌ها و یک ستون مقدار است. سپس با استفاده از تابع dt.strftime()، فرمت تاریخ را به “mm/dd/yyyy” تغییر داده‌ایم.

تبدیل تاریخ به دوره‌های زمانی

با استفاده از تابع pd.to_period()، می‌توانید یک سری تاریخ را به دوره‌های زمانی مختلف تبدیل کنید. برای مثال:

import pandas as pd

dates = pd.date_range('2022-04-01', periods=6, freq='D')
df = pd.DataFrame({'date': dates, 'value': [1, 2, 3, 4, 5, 6]})

df['month'] = df['date'].dt.to_period('M')
df['quarter'] = df['date'].dt.to_period('Q')

در این مثال، با استفاده از تابع pd.date_range()، یک سری تاریخ در بازه زمانی 6 روزه با فرکانس روزانه ایجاد کردیم. سپس با استفاده از تابع pd.DataFrame()، یک DataFrame ایجاد کردیم که شامل تاریخ‌ها و یک ستون مقدار است. سپس با استفاده از تابع dt.to_period()، ستون‌های جدیدی با نام “month” و “quarter” به DataFrame اضافه کردیم که به ترتیب دوره‌های ماهیانه و فصلی مربوط به تاریخ‌ها هستند.

در کل، pandas دارای ابزارهای قدرتمندی برای کار با تاریخ و زمان است که به شما کمک می‌کنند تا داده‌های زمانی خود را به راحتی تحلیل کنید.

backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*