Class: Polars::DateTimeNameSpace
- Inherits:
-
Object
- Object
- Polars::DateTimeNameSpace
- Defined in:
- lib/polars/date_time_name_space.rb
Overview
Series.dt namespace.
Instance Method Summary collapse
-
#[](item) ⇒ Object
Get item.
-
#add_business_days(n, week_mask: [true, true, true, true, true, false, false], roll: "raise") ⇒ Series
Offset by
nbusiness days. -
#base_utc_offset ⇒ Series
Base offset from UTC.
-
#cast_time_unit(time_unit) ⇒ Series
Cast the underlying data to another time unit.
-
#century ⇒ Series
Extract the century from underlying representation.
-
#combine(time, time_unit: "us") ⇒ Series
Create a naive Datetime from an existing Date/Datetime expression and a Time.
-
#convert_time_zone(time_zone) ⇒ Series
Set time zone a Series of type Datetime.
-
#date ⇒ Series
Extract (local) date.
-
#day ⇒ Series
Extract the day from the underlying date representation.
-
#days_in_month ⇒ Series
Extract the number of days in the month from the underlying date representation.
-
#dst_offset ⇒ Series
Additional offset currently in effect (typically due to daylight saving time).
-
#epoch(time_unit = "us") ⇒ Series
Get the time passed since the Unix EPOCH in the give time unit.
-
#hour ⇒ Series
Extract the hour from the underlying DateTime representation.
-
#is_business_day(week_mask: [true, true, true, true, true, false, false]) ⇒ Series
Determine whether each day lands on a business day.
-
#is_leap_year ⇒ Series
Determine whether the year of the underlying date representation is a leap year.
-
#iso_year ⇒ Series
Extract ISO year from underlying Date representation.
-
#max ⇒ Object
Return maximum as Ruby object.
-
#microsecond ⇒ Series
Extract the microseconds from the underlying DateTime representation.
-
#millennium ⇒ Series
Extract the millennium from underlying representation.
-
#millisecond ⇒ Series
Extract the milliseconds from the underlying DateTime representation.
-
#min ⇒ Object
Return minimum as Ruby object.
-
#minute ⇒ Series
Extract the minutes from the underlying DateTime representation.
-
#month ⇒ Series
Extract the month from the underlying date representation.
-
#month_end ⇒ Series
Roll forward to the last day of the month.
-
#month_start ⇒ Series
Roll backward to the first day of the month.
-
#nanosecond ⇒ Series
Extract the nanoseconds from the underlying DateTime representation.
-
#offset_by(by) ⇒ Series
Offset this date by a relative time offset.
-
#ordinal_day ⇒ Series
Extract ordinal day from underlying date representation.
-
#quarter ⇒ Series
Extract quarter from underlying Date representation.
-
#replace(year: nil, month: nil, day: nil, hour: nil, minute: nil, second: nil, microsecond: nil, ambiguous: "raise") ⇒ Series
Replace time unit.
-
#replace_time_zone(time_zone, ambiguous: "raise", non_existent: "raise") ⇒ Series
Cast time zone for a Series of type Datetime.
-
#round(every) ⇒ Series
Divide the date/ datetime range into buckets.
-
#second(fractional: false) ⇒ Series
Extract seconds from underlying DateTime representation.
-
#strftime(format) ⇒ Series
Convert a Date/Time/Datetime column into a String column with the given format.
-
#time ⇒ Object
Extract (local) time.
-
#timestamp(time_unit = "us") ⇒ Series
Return a timestamp in the given time unit.
-
#to_string(format = nil) ⇒ Series
Convert a Date/Time/Datetime column into a String column with the given format.
-
#total_days(fractional: false) ⇒ Series
Extract the days from a Duration type.
-
#total_hours(fractional: false) ⇒ Series
Extract the hours from a Duration type.
-
#total_microseconds(fractional: false) ⇒ Series
Extract the microseconds from a Duration type.
-
#total_milliseconds(fractional: false) ⇒ Series
Extract the milliseconds from a Duration type.
-
#total_minutes(fractional: false) ⇒ Series
Extract the minutes from a Duration type.
-
#total_nanoseconds(fractional: false) ⇒ Series
Extract the nanoseconds from a Duration type.
-
#total_seconds(fractional: false) ⇒ Series
Extract the seconds from a Duration type.
-
#truncate(every) ⇒ Series
Divide the date/ datetime range into buckets.
-
#week ⇒ Series
Extract the week from the underlying date representation.
-
#weekday ⇒ Series
Extract the week day from the underlying date representation.
-
#year ⇒ Series
Extract the year from the underlying date representation.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Polars::ExprDispatch
Instance Method Details
#[](item) ⇒ Object
Get item.
16 17 18 19 |
# File 'lib/polars/date_time_name_space.rb', line 16 def [](item) s = Utils.wrap_s(_s) s[item] end |
#add_business_days(n, week_mask: [true, true, true, true, true, false, false], roll: "raise") ⇒ Series
This functionality is considered unstable. It may be changed at any point without it being considered a breaking change.
Offset by n business days.
roll What to do when the start date lands on a non-business day. Options are:
'raise': raise an error'forward': move to the next business day'backward': move to the previous business day
75 76 77 78 79 80 81 |
# File 'lib/polars/date_time_name_space.rb', line 75 def add_business_days( n, week_mask: [true, true, true, true, true, false, false], roll: "raise" ) super end |
#base_utc_offset ⇒ Series
Base offset from UTC.
This is usually constant for all datetimes in a given time zone, but may vary in the rare case that a country switches time zone, like Samoa (Apia) did at the end of 2011.
1565 1566 1567 |
# File 'lib/polars/date_time_name_space.rb', line 1565 def base_utc_offset super end |
#cast_time_unit(time_unit) ⇒ Series
Cast the underlying data to another time unit. This may lose precision.
891 892 893 |
# File 'lib/polars/date_time_name_space.rb', line 891 def cast_time_unit(time_unit) super end |
#century ⇒ Series
Extract the century from underlying representation.
Applies to Date and Datetime columns.
Returns the century number in the calendar date.
230 231 232 |
# File 'lib/polars/date_time_name_space.rb', line 230 def century super end |
#combine(time, time_unit: "us") ⇒ Series
Create a naive Datetime from an existing Date/Datetime expression and a Time.
If the underlying expression is a Datetime then its time component is replaced, and if it is a Date then a new Datetime is created by combining the two values.
1493 1494 1495 |
# File 'lib/polars/date_time_name_space.rb', line 1493 def combine(time, time_unit: "us") super end |
#convert_time_zone(time_zone) ⇒ Series
Set time zone a Series of type Datetime.
925 926 927 |
# File 'lib/polars/date_time_name_space.rb', line 925 def convert_time_zone(time_zone) super end |
#date ⇒ Series
Extract (local) date.
Applies to Date/Datetime columns.
568 569 570 |
# File 'lib/polars/date_time_name_space.rb', line 568 def date super end |
#day ⇒ Series
Extract the day from the underlying date representation.
Applies to Date and Datetime columns.
Returns the day of month starting from 1. The return value ranges from 1 to 31. (The last day of month differs by months.)
500 501 502 |
# File 'lib/polars/date_time_name_space.rb', line 500 def day super end |
#days_in_month ⇒ Series
Extract the number of days in the month from the underlying date representation.
Applies to Date and Datetime columns.
Returns the number of days in the month. The return value ranges from 28 to 31.
416 417 418 |
# File 'lib/polars/date_time_name_space.rb', line 416 def days_in_month super end |
#dst_offset ⇒ Series
Additional offset currently in effect (typically due to daylight saving time).
1588 1589 1590 |
# File 'lib/polars/date_time_name_space.rb', line 1588 def dst_offset super end |
#epoch(time_unit = "us") ⇒ Series
Get the time passed since the Unix EPOCH in the give time unit.
846 847 848 |
# File 'lib/polars/date_time_name_space.rb', line 846 def epoch(time_unit = "us") super end |
#hour ⇒ Series
Extract the hour from the underlying DateTime representation.
Applies to Datetime columns.
Returns the hour number from 0 to 23.
594 595 596 |
# File 'lib/polars/date_time_name_space.rb', line 594 def hour super end |
#is_business_day(week_mask: [true, true, true, true, true, false, false]) ⇒ Series
This functionality is considered unstable. It may be changed at any point without it being considered a breaking change.
Determine whether each day lands on a business day.
290 291 292 293 294 |
# File 'lib/polars/date_time_name_space.rb', line 290 def is_business_day( week_mask: [true, true, true, true, true, false, false] ) super end |
#is_leap_year ⇒ Series
Determine whether the year of the underlying date representation is a leap year.
Applies to Date and Datetime columns.
315 316 317 |
# File 'lib/polars/date_time_name_space.rb', line 315 def is_leap_year super end |
#iso_year ⇒ Series
Extract ISO year from underlying Date representation.
Applies to Date and Datetime columns.
Returns the year number according to the ISO standard. This may not correspond with the calendar year.
337 338 339 |
# File 'lib/polars/date_time_name_space.rb', line 337 def iso_year super end |
#max ⇒ Object
Return maximum as Ruby object.
103 104 105 |
# File 'lib/polars/date_time_name_space.rb', line 103 def max Utils.wrap_s(_s).max end |
#microsecond ⇒ Series
Extract the microseconds from the underlying DateTime representation.
Applies to Datetime columns.
727 728 729 |
# File 'lib/polars/date_time_name_space.rb', line 727 def microsecond super end |
#millennium ⇒ Series
Extract the millennium from underlying representation.
Applies to Date and Datetime columns.
Returns the millennium number in the calendar date.
196 197 198 |
# File 'lib/polars/date_time_name_space.rb', line 196 def millennium super end |
#millisecond ⇒ Series
Extract the milliseconds from the underlying DateTime representation.
Applies to Datetime columns.
698 699 700 |
# File 'lib/polars/date_time_name_space.rb', line 698 def millisecond super end |
#min ⇒ Object
Return minimum as Ruby object.
91 92 93 |
# File 'lib/polars/date_time_name_space.rb', line 91 def min Utils.wrap_s(_s).min end |
#minute ⇒ Series
Extract the minutes from the underlying DateTime representation.
Applies to Datetime columns.
Returns the minute number from 0 to 59.
619 620 621 |
# File 'lib/polars/date_time_name_space.rb', line 619 def minute super end |
#month ⇒ Series
Extract the month from the underlying date representation.
Applies to Date and Datetime columns.
Returns the month number starting from 1. The return value ranges from 1 to 12.
390 391 392 |
# File 'lib/polars/date_time_name_space.rb', line 390 def month super end |
#month_end ⇒ Series
Roll forward to the last day of the month.
1537 1538 1539 |
# File 'lib/polars/date_time_name_space.rb', line 1537 def month_end super end |
#month_start ⇒ Series
Roll backward to the first day of the month.
1515 1516 1517 |
# File 'lib/polars/date_time_name_space.rb', line 1515 def month_start super end |
#nanosecond ⇒ Series
Extract the nanoseconds from the underlying DateTime representation.
Applies to Datetime columns.
756 757 758 |
# File 'lib/polars/date_time_name_space.rb', line 756 def nanosecond super end |
#offset_by(by) ⇒ Series
Offset this date by a relative time offset.
This differs from Polars.col("foo") + timedelta in that it can
take months and leap years into account. Note that only a single minus
sign is allowed in the by string, as the first character.
1314 1315 1316 |
# File 'lib/polars/date_time_name_space.rb', line 1314 def offset_by(by) super end |
#ordinal_day ⇒ Series
Extract ordinal day from underlying date representation.
Applies to Date and Datetime columns.
Returns the day of year starting from 1. The return value ranges from 1 to 366. (The last day of year differs by years.)
526 527 528 |
# File 'lib/polars/date_time_name_space.rb', line 526 def ordinal_day super end |
#quarter ⇒ Series
Extract quarter from underlying Date representation.
Applies to Date and Datetime columns.
Returns the quarter ranging from 1 to 4.
363 364 365 |
# File 'lib/polars/date_time_name_space.rb', line 363 def quarter super end |
#replace(year: nil, month: nil, day: nil, hour: nil, minute: nil, second: nil, microsecond: nil, ambiguous: "raise") ⇒ Series
Replace time unit.
1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'lib/polars/date_time_name_space.rb', line 1628 def replace( year: nil, month: nil, day: nil, hour: nil, minute: nil, second: nil, microsecond: nil, ambiguous: "raise" ) super end |
#replace_time_zone(time_zone, ambiguous: "raise", non_existent: "raise") ⇒ Series
Cast time zone for a Series of type Datetime.
Different from with_time_zone, this will also modify
the underlying timestamp.
1010 1011 1012 |
# File 'lib/polars/date_time_name_space.rb', line 1010 def replace_time_zone(time_zone, ambiguous: "raise", non_existent: "raise") super end |
#round(every) ⇒ Series
This functionality is currently experimental and may change without it being considered a breaking change.
Divide the date/ datetime range into buckets.
Each date/datetime in the first half of the interval is mapped to the start of its bucket. Each date/datetime in the seconod half of the interval is mapped to the end of its bucket.
The every and offset argument are created with the
the following string language:
1ns # 1 nanosecond 1us # 1 microsecond 1ms # 1 millisecond 1s # 1 second 1m # 1 minute 1h # 1 hour 1d # 1 day 1w # 1 week 1mo # 1 calendar month 1y # 1 calendar year
3d12h4m25s # 3 days, 12 hours, 4 minutes, and 25 seconds
1464 1465 1466 |
# File 'lib/polars/date_time_name_space.rb', line 1464 def round(every) super end |
#second(fractional: false) ⇒ Series
Extract seconds from underlying DateTime representation.
Applies to Datetime columns.
Returns the integer second number from 0 to 59, or a floating
point number from 0 < 60 if fractional: true that includes
any milli/micro/nanosecond component.
669 670 671 |
# File 'lib/polars/date_time_name_space.rb', line 669 def second(fractional: false) super end |
#strftime(format) ⇒ Series
Convert a Date/Time/Datetime column into a String column with the given format.
Similar to cast(Polars::String), but this method allows you to customize the
formatting of the resulting string.
162 163 164 |
# File 'lib/polars/date_time_name_space.rb', line 162 def strftime(format) super end |
#time ⇒ Object
Extract (local) time.
Applies to Date/Datetime/Time columns.
547 548 549 |
# File 'lib/polars/date_time_name_space.rb', line 547 def time super end |
#timestamp(time_unit = "us") ⇒ Series
Return a timestamp in the given time unit.
801 802 803 |
# File 'lib/polars/date_time_name_space.rb', line 801 def (time_unit = "us") super end |
#to_string(format = nil) ⇒ Series
Convert a Date/Time/Datetime column into a String column with the given format.
Similar to cast(Polars::String), but this method allows you to customize the
formatting of the resulting string.
133 134 135 |
# File 'lib/polars/date_time_name_space.rb', line 133 def to_string(format = nil) super end |
#total_days(fractional: false) ⇒ Series
Extract the days from a Duration type.
1034 1035 1036 |
# File 'lib/polars/date_time_name_space.rb', line 1034 def total_days(fractional: false) super end |
#total_hours(fractional: false) ⇒ Series
Extract the hours from a Duration type.
1068 1069 1070 |
# File 'lib/polars/date_time_name_space.rb', line 1068 def total_hours(fractional: false) super end |
#total_microseconds(fractional: false) ⇒ Series
Extract the microseconds from a Duration type.
1208 1209 1210 |
# File 'lib/polars/date_time_name_space.rb', line 1208 def total_microseconds(fractional: false) super end |
#total_milliseconds(fractional: false) ⇒ Series
Extract the milliseconds from a Duration type.
1174 1175 1176 |
# File 'lib/polars/date_time_name_space.rb', line 1174 def total_milliseconds(fractional: false) super end |
#total_minutes(fractional: false) ⇒ Series
Extract the minutes from a Duration type.
1102 1103 1104 |
# File 'lib/polars/date_time_name_space.rb', line 1102 def total_minutes(fractional: false) super end |
#total_nanoseconds(fractional: false) ⇒ Series
Extract the nanoseconds from a Duration type.
1244 1245 1246 |
# File 'lib/polars/date_time_name_space.rb', line 1244 def total_nanoseconds(fractional: false) super end |
#total_seconds(fractional: false) ⇒ Series
Extract the seconds from a Duration type.
1140 1141 1142 |
# File 'lib/polars/date_time_name_space.rb', line 1140 def total_seconds(fractional: false) super end |
#truncate(every) ⇒ Series
Divide the date/ datetime range into buckets.
Each date/datetime is mapped to the start of its bucket.
The every and offset argument are created with the
the following string language:
1ns # 1 nanosecond 1us # 1 microsecond 1ms # 1 millisecond 1s # 1 second 1m # 1 minute 1h # 1 hour 1d # 1 day 1w # 1 week 1mo # 1 calendar month 1y # 1 calendar year
3d12h4m25s # 3 days, 12 hours, 4 minutes, and 25 seconds
1383 1384 1385 |
# File 'lib/polars/date_time_name_space.rb', line 1383 def truncate(every) super end |
#week ⇒ Series
Extract the week from the underlying date representation.
Applies to Date and Datetime columns.
Returns the ISO week number starting from 1. The return value ranges from 1 to 53. (The last week of year differs by years.)
443 444 445 |
# File 'lib/polars/date_time_name_space.rb', line 443 def week super end |
#weekday ⇒ Series
Extract the week day from the underlying date representation.
Applies to Date and Datetime columns.
Returns the ISO weekday number where monday = 1 and sunday = 7
472 473 474 |
# File 'lib/polars/date_time_name_space.rb', line 472 def weekday super end |
#year ⇒ Series
Extract the year from the underlying date representation.
Applies to Date and Datetime columns.
Returns the year number in the calendar date.
252 253 254 |
# File 'lib/polars/date_time_name_space.rb', line 252 def year super end |