तारीखों को पार्स करना और बदलना

Polars के साथ Data Transformation

Liam Brannigan

Data Scientist & Polars Contributor

टाइम सीरीज़ डेटा

मार्केट प्राइस का टाइम सीरीज़

Polars के साथ Data Transformation

टाइम सीरीज़ डेटा

सेल्स का टाइम सीरीज़

Polars के साथ Data Transformation

टाइम सीरीज़ डेटा

स्ट्रीम्स का टाइम सीरीज़

Polars के साथ Data Transformation

टाइम सीरीज़ डेटा

काउंट का टाइम सीरीज़

Polars के साथ Data Transformation

इलेक्ट्रिसिटी प्राइस का डेटासेट

shape: (24, 3)
| time             | price | solar |
| ---              | ---   | ---   |
| str              | f64   | f64   |
|------------------|-------|-------|
| 05/07/2025 00:00 | 34.2  | 0.0   |
| ...              | ...   | ...   |
| 05/07/2025 12:00 | 0.0   | 462.0 |
  • time - प्रति घंटा वैल्यूज़
  • price - £ प्रति मेगावॉट-घंटा
  • solar - वॉट प्रति वर्ग मीटर
  • solar > 400 = गर्मी का धूप वाला दिन
Polars के साथ Data Transformation

प्राइस और सोलर का संबंध

इलेक्ट्रिसिटी प्राइस का टाइम सीरीज़

Polars के साथ Data Transformation

प्राइस और सोलर का संबंध

इलेक्ट्रिसिटी प्राइस का टाइम सीरीज़

Polars के साथ Data Transformation

Polars में Datetime dtypes

  • Date - कैलेंडर डेट - 2000-01-01
  • Datetime - डेट और टाइम - 2000-01-01 12:00:00
  • Time - दिन का समय - 12:00:00
  • Duration - समयावधि - 3 hours
Polars के साथ Data Transformation

ऑटोमैटिक datetime पार्सिंग

pl.read_csv(
  "electricity_prices",

)
Polars के साथ Data Transformation

ऑटोमैटिक datetime पार्सिंग

pl.read_csv(
  "electricity_prices",
  try_parse_dates=True
)
  • फ़ॉर्मेट: YYYY-MM-DD
  • जैसे 2025-07-05
  • जैसे 2025-07-05 12:00:00
Polars के साथ Data Transformation

हमारे डेटा को मैनुअल पार्सिंग चाहिए

| time             | price | solar |
| ---              | ---   | ---   |
| str              | f64   | f64   |
|------------------|-------|-------|
| 05/07/2025 00:00 | 34.2  | 0.0   |
| 05/07/2025 01:00 | 28.7  | 0.0   |
  • फ़ॉर्मेट: DD/MM/YYYY HH:MM
  • Polars इसे ऑटो-डिटेक्ट नहीं करता
Polars के साथ Data Transformation

strptime से पार्स करना

prices.with_columns(
    pl.col("time").str.strptime(                             )
)
Polars के साथ Data Transformation

strptime से पार्स करना

prices.with_columns(
    pl.col("time").str.strptime(pl.Datetime,                 )
)
Polars के साथ Data Transformation

strptime से पार्स करना

prices.with_columns(
    pl.col("time").str.strptime(pl.Datetime, "%d/%m/%Y      ")
)
Polars के साथ Data Transformation

strptime से पार्स करना

prices.with_columns(
    pl.col("time").str.strptime(pl.Datetime, "%d/%m/%Y %H:%M")
)
Polars के साथ Data Transformation

strptime से पार्स करना

prices.with_columns(
    pl.col("time").str.strptime(pl.Datetime, "%d/%m/%Y %H:%M")
)
| time                | price | solar |
| ---                 | ---   | ---   |
| datetime[us]        | f64   | f64   |
|---------------------|-------|-------|
| 2025-07-05 00:00:00 | 34.2  | 0.0   |
| 2025-07-05 01:00:00 | 28.7  | 0.0   |
| 2025-07-05 02:00:00 | 27.5  | 0.0   |
Polars के साथ Data Transformation

Datetime कंपोनेंट निकालना

टाइम सीरीज़ डेटा की टेबल

Polars के साथ Data Transformation

Datetime कंपोनेंट निकालना

टाइम सीरीज़ डेटा की टेबल, एक पंक्ति में तारीख हाइलाइट

Polars के साथ Data Transformation

Datetime कंपोनेंट निकालना

टाइम सीरीज़ डेटा की टेबल, एक पंक्ति में समय हाइलाइट

Polars के साथ Data Transformation

Datetime कंपोनेंट निकालना

टाइम सीरीज़ डेटा की टेबल, एक पंक्ति में घंटा हाइलाइट

Polars के साथ Data Transformation

तारीख निकालना

prices.with_columns(
    pl.col("time").dt.date()
)
Polars के साथ Data Transformation

तारीख निकालना

prices.with_columns(
    pl.col("time").dt.date().alias("date")
)
Polars के साथ Data Transformation

तारीख निकालना

prices.with_columns(
    pl.col("time").dt.date().alias("date")
)
| time                | price | solar | date       |
| ---                 | ---   | ---   | ---        |
| datetime[µs]        | f64   | f64   | date       |
|---------------------|-------|-------|------------|
| 2025-07-05 00:00:00 | 34.2  | 0.0   | 2025-07-05 |
| 2025-07-05 01:00:00 | 28.7  | 0.0   | 2025-07-05 |
| 2025-07-05 02:00:00 | 27.5  | 0.0   | 2025-07-05 |
Polars के साथ Data Transformation

समय निकालना

prices.with_columns(
    pl.col("time").dt.time().alias("time_of_day")
)
Polars के साथ Data Transformation

समय निकालना

prices.with_columns(
    pl.col("time").dt.time().alias("time_of_day")
)
| time                | price | solar | time_of_day |
| ---                 | ---   | ---   | ---         |
| datetime[us]        | f64   | f64   | time        |
|---------------------|-------|-------|-------------|
| 2025-07-05 00:00:00 | 34.2  | 0.0   | 00:00:00    |
| 2025-07-05 01:00:00 | 28.7  | 0.0   | 01:00:00    |
| 2025-07-05 02:00:00 | 27.5  | 0.0   | 02:00:00    |
Polars के साथ Data Transformation

घंटा निकालना

prices.with_columns(
    pl.col("time").dt.hour().alias("hour")
)
Polars के साथ Data Transformation

घंटा निकालना

prices.with_columns(
    pl.col("time").dt.hour().alias("hour")
)
| time                | price | solar | hour |
| ---                 | ---   | ---   | ---  |
| datetime[µs]        | f64   | f64   | i8   |
|---------------------|-------|-------|------|
| 2025-07-05 00:00:00 | 34.2  | 0.0   | 0    |
| 2025-07-05 01:00:00 | 28.7  | 0.0   | 1    |
| 2025-07-05 12:00:00 | 0.0   | 462.0 | 12   |
Polars के साथ Data Transformation

अन्य datetime कंपोनेंट

  • .dt.year() - वर्ष निकालें
  • .dt.month() - महीना निकालें (1-12)
  • .dt.day() - दिनांक निकालें
  • .dt.minute() - मिनट निकालें
  • ...
1 https://docs.pola.rs/api/python/dev/reference/expressions/temporal.html
Polars के साथ Data Transformation

Datetime समायोजित करना

  • .dt.offset_by() - datetime समायोजित करें
  • "1h" - 1 घंटा आगे
  • "-2d" - 2 दिन पीछे
Polars के साथ Data Transformation

Datetime समायोजित करना

  • .dt.offset_by() - datetime समायोजित करें
  • "1h" - 1 घंटा आगे
  • "-2d" - 2 दिन पीछे
1 https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.dt.offset_by.html
Polars के साथ Data Transformation

टाइम विंडो एंड जोड़ना

prices.with_columns(
    pl.col("time").dt.offset_by("1h")
)
Polars के साथ Data Transformation

टाइम विंडो एंड जोड़ना

prices.with_columns(
    pl.col("time").dt.offset_by("1h").alias("time_end")
)
Polars के साथ Data Transformation

टाइम विंडो एंड जोड़ना

prices.with_columns(
    pl.col("time").dt.offset_by("1h").alias("time_end")
)
| time                | price | solar | time_end            |
| ---                 | ---   | ---   | ---                 |
| datetime[µs]        | f64   | f64   | datetime[µs]        |
|---------------------|-------|-------|---------------------|
| 2025-07-05 00:00:00 | 34.2  | 0.0   | 2025-07-05 01:00:00 |
| 2025-07-05 01:00:00 | 28.7  | 0.0   | 2025-07-05 02:00:00 |
| 2025-07-05 02:00:00 | 27.5  | 0.0   | 2025-07-05 03:00:00 |
Polars के साथ Data Transformation

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

Polars के साथ Data Transformation

Preparing Video For Download...