इम्पोर्ट बदलना: तारीखें पार्स करना

pandas के साथ सरल Data Ingestion

Amany Mahfouz

Instructor

Date और Time डेटा

  • तारीख और समय का अपना डेटा टाइप और आंतरिक प्रतिनिधित्व होता है
  • Datetime मानों को स्ट्रिंग प्रतिनिधित्व में बदला जा सकता है
  • Datetime स्ट्रिंग फॉर्मेटिंग के लिए एक सामान्य कोड-सेट होता है
pandas के साथ सरल Data Ingestion

pandas और Datetimes

  • डिफॉल्ट रूप से datetime कॉलम ऑब्जेक्ट्स (स्ट्रिंग्स) के रूप में लोड होते हैं
  • parse_dates आर्ग्यूमेंट से कॉलम्स को datetime घोषित करें (dtype नहीं!)
  • parse_dates स्वीकार कर सकता है:
    • पार्स करने के लिए कॉलम नामों या नंबरों की सूची
    • सूचियों की सूची, जिन कॉलम्स को जोड़कर पार्स करना है
    • एक डिक्शनरी, जहाँ keys नए कॉलम नाम हैं और values वे कॉलम्स हैं जिन्हें साथ में पार्स करना है
pandas के साथ सरल Data Ingestion

pandas और Datetimes

अलग-अलग फॉर्मेट वाले तारीख व समय कॉलम्स की स्प्रेडशीट

pandas के साथ सरल Data Ingestion

pandas और Datetimes

स्टैंडर्ड-फॉर्मेट कॉलम्स हाइलाइट की हुई तारीख व समय डेटा स्प्रेडशीट

pandas के साथ सरल Data Ingestion

pandas और Datetimes

तारीख-केवल और समय-केवल कॉलम हाइलाइट की हुई डेटा स्प्रेडशीट

pandas के साथ सरल Data Ingestion

pandas और Datetimes

असामान्य datetime फॉर्मेट वाले कॉलम को हाइलाइट करती तारीख व समय डेटा स्प्रेडशीट

pandas के साथ सरल Data Ingestion

Dates पार्स करना

# पार्स करने के लिए तारीख वाले कॉलम्स की सूची
date_cols = ["Part1StartTime", "Part1EndTime"]

# फ़ाइल लोड करें, स्टैंडर्ड datetime कॉलम्स पार्स करते हुए survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols)
pandas के साथ सरल Data Ingestion

Dates पार्स करना

# टाइमस्टैम्प कॉलम्स के डेटा टाइप जाँचें
print(survey_df[["Part1StartTime", 
                 "Part1EndTime", 
                 "Part2StartDate", 
                 "Part2StartTime", 
                 "Part2EndTime"]].dtypes)
Part1StartTime    datetime64[ns]
Part1EndTime      datetime64[ns]
Part2StartDate            object
Part2StartTime            object
Part2EndTime              object
dtype: object
pandas के साथ सरल Data Ingestion

Dates पार्स करना

# पार्स करने के लिए तारीख वाले कॉलम्स की सूची
date_cols = ["Part1StartTime", 
             "Part1EndTime",

[["Part2StartDate", "Part2StartTime"]]]
# फ़ाइल लोड करें, स्टैंडर्ड और स्प्लिट datetime कॉलम्स पार्स करते हुए survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols)
print(survey_df.head(3))
  Part2StartDate_Part2StartTime   Age       ...    SchoolMajor  StudentDebtOwe
0           2016-03-29 21:24:57  28.0       ...            NaN           20000
1           2016-03-29 21:27:14  22.0       ...            NaN             NaN
2           2016-03-29 21:27:13  19.0       ...            NaN             NaN

[3 rows x 98 columns]
pandas के साथ सरल Data Ingestion

Dates पार्स करना

# पार्स करने के लिए तारीख वाले कॉलम्स की सूची
date_cols = {"Part1Start": "Part1StartTime", 
             "Part1End": "Part1EndTime",
             "Part2Start": ["Part2StartDate", 
                             "Part2StartTime"]}


# फ़ाइल लोड करें, स्टैंडर्ड और स्प्लिट datetime कॉलम्स पार्स करते हुए survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols) print(survey_df.Part2Start.head(3))
0   2016-03-29 21:24:57
1   2016-03-29 21:27:14
2   2016-03-29 21:27:13
Name: Part2Start, dtype: datetime64[ns]
pandas के साथ सरल Data Ingestion

गैर-स्टैंडर्ड Dates

  • गैर-स्टैंडर्ड datetime फॉर्मेट्स पर parse_dates काम नहीं करता
  • डेटा लोड करने के बाद parse_dates न चले तो pd.to_datetime() का उपयोग करें
  • to_datetime() के आर्ग्यूमेंट्स:
    • कन्वर्ट करने के लिए DataFrame और कॉलम
    • format: datetime फॉर्मेट का स्ट्रिंग प्रतिनिधित्व
pandas के साथ सरल Data Ingestion

Datetime फॉर्मेटिंग

  • कोड्स और कैरेक्टर्स से datetime स्ट्रिंग फॉर्मेटिंग बताई जाती है
  • पूरी सूची के लिए strftime.org देखें
pandas के साथ सरल Data Ingestion

Datetime फॉर्मेटिंग

Code अर्थ उदाहरण
%Y वर्ष (4-अंकों का) 1999
%m महीना (ज़ीरो-पैडेड) 03
%d दिन (ज़ीरो-पैडेड) 01
%H घंटा (24-घंटे घड़ी) 21
%M मिनट (ज़ीरो-पैडेड) 09
%S सेकंड (ज़ीरो-पैडेड) 05
pandas के साथ सरल Data Ingestion

गैर-स्टैंडर्ड Dates पार्स करना

असामान्य datetime फॉर्मेट वाले कॉलम को हाइलाइट करती तारीख व समय डेटा स्प्रेडशीट

format_string = "%m%d%Y %H:%M:%S"

survey_df["Part2EndTime"] = pd.to_datetime(survey_df["Part2EndTime"], format=format_string)
pandas के साथ सरल Data Ingestion

गैर-स्टैंडर्ड Dates पार्स करना

print(survey_df.Part2EndTime.head())
0   2016-03-29 21:27:25
1   2016-03-29 21:29:10
2   2016-03-29 21:28:21
3   2016-03-29 21:30:51
4   2016-03-29 21:31:54
Name: Part2EndTime, dtype: datetime64[ns]
pandas के साथ सरल Data Ingestion

अभ्यास करते हैं!

pandas के साथ सरल Data Ingestion

Preparing Video For Download...