-1

how to create data frame like this:

gregorian_date gregorian_year gregorian_month gregorian_day hijri_date hijri_month_en_name hijri_month_ar_name hijri_day_en_name hijri_day_ar_name
2019-12-01 2019 12 1 1441-04-04 Rabi’ al-Thani ربيع الثاني Sunday الأحد
2019-12-02 2019 12 2 1441-04-05 Rabi’ al-Thani ربيع الثاني Monday الإثنين

1 Answers1

0
import pandas as pd
from hijri_converter import Hijri, Gregorian

rng = pd.date_range('2019-12-1', periods=1126, freq='D')
hijri_date_data = pd.DataFrame({'gregorian_date': rng}) 

hijri_date_data['gregorian_year'] = pd.to_datetime(hijri_date_data['gregorian_date']).dt.year
hijri_date_data['gregorian_month'] = pd.to_datetime(hijri_date_data['gregorian_date']).dt.month
hijri_date_data['gregorian_day'] = pd.to_datetime(hijri_date_data['gregorian_date']).dt.day
hijri_date_data['hijri_date']  = ''
hijri_date_data['hijri_month_en_name']  = ''
hijri_date_data['hijri_month_ar_name']  = ''
hijri_date_data['hijri_day_en_name']  = ''
hijri_date_data['hijri_day_ar_name']  = ''

for i in range(len(hijri_date_data)):
    hijri_date_data.iloc[i, 4] = Gregorian(hijri_date_data.iloc[i, 1],hijri_date_data.iloc[i, 2],hijri_date_data.iloc[i, 3]).to_hijri()
    hijri_date_data.iloc[i, 5] = hijri_date_data.iloc[i, 4].month_name()
    hijri_date_data.iloc[i, 6] = hijri_date_data.iloc[i, 4].month_name('ar')
    hijri_date_data.iloc[i, 7] = hijri_date_data.iloc[i, 4].day_name()
    hijri_date_data.iloc[i, 8] = hijri_date_data.iloc[i, 4].day_name('ar')