日期时间计算#
- group Compute Day
枚举
函数
-
std::unique_ptr<cudf::column> last_day_of_month(cudf::column_view const &column, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
计算日期时间类型中的月末最后一天,并返回 TIMESTAMP_DAYS cudf::column。
- 参数:
column – 输入日期时间值的 cudf::column_view
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 抛出:
cudf::logic_error – 如果输入列数据类型不是 TIMESTAMP
- 返回:
包含月末最后一天的 cudf::column,数据类型为 TIMESTAMP_DAYS
-
std::unique_ptr<cudf::column> day_of_year(cudf::column_view const &column, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
计算日期时间从年初开始的天数,并返回 int16_t cudf::column。值在 [1, {365-366}] 之间。
- 参数:
column – 输入日期时间值的 cudf::column_view
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 抛出:
cudf::logic_error – 如果输入列数据类型不是 TIMESTAMP
- 返回:
数据类型为 INT16 的 cudf::column,包含从年初开始的天数
-
std::unique_ptr<cudf::column> add_calendrical_months(cudf::column_view const ×tamps, cudf::column_view const &months, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
从日期时间类型添加或减去月份数,并返回与输入
timestamps
列具有相同类型的时间戳列。对于给定行,如果
timestamps
或months
列值为 null,则该行的输出为 null。此方法会保留输入的时间以及适用的日期。如果新日期对于该月份无效,则日期将向下舍入到该年份的月末最后一天。Example: timestamps = [5/31/20 08:00:00, 5/31/20 00:00:00, 5/31/20 13:00:00, 5/31/20 23:00:00, 6/30/20 00:00:01, 6/30/20 14:12:13] months = [1 , -1 , -3 , -15 , -1 , 1] r = add_calendrical_months(timestamp_column, months_column) r is [6/30/20 08:00:00, 4/30/20 00:00:00, 2/29/20 13:00:00, 2/28/19 23:00:00, 5/30/20 00:00:01, 7/30/20 14:12:13]
- 抛出:
cudf::logic_error – 如果
timestamps
数据类型不是 TIMESTAMP 或months
数据类型不是 INT16 或 INT32。cudf::logic_error – 如果
timestamps
列大小与months
列大小不相等。
- 参数:
timestamps – 时间戳类型的 cudf::column_view
months – 包含要添加的月份数的整数类型的 cudf::column_view
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
包含计算后的时间戳的时间戳类型的 cudf::column
-
std::unique_ptr<cudf::column> add_calendrical_months(cudf::column_view const ×tamps, cudf::scalar const &months, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
从日期时间类型添加或减去月份数,并返回与输入
timestamps
列具有相同类型的时间戳列。对于给定行,如果
timestamps
值为 null,则该行的输出为 null。一个 nullmonths
标量将导致一个全为 null 的列。此方法会保留输入的时间以及适用的日期。如果新日期对于该月份无效,则日期将向下舍入到该年份的月末最后一天。Example: timestamps = [5/31/20 08:00:00, 6/30/20 00:00:00, 7/31/20 13:00:00] months = -3 output is [2/29/20 08:00:00, 3/30/20 00:00:00, 4/30/20 13:00:00] timestamps = [4/28/20 04:00:00, 5/30/20 01:00:00, 6/30/20 21:00:00] months = 1 output is [5/28/20 04:00:00, 6/30/20 01:00:00, 7/30/20 21:00:00]
- 抛出:
cudf::logic_error – 如果
timestamps
数据类型不是 TIMESTAMP 或months
数据类型不是 INT16 或 INT32。cudf::logic_error – 如果
timestamps
列大小与months
列大小不相等。
- 参数:
timestamps – 时间戳类型的 cudf::column_view
months – 包含要添加的月份数的整数类型的 cudf::scalar
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
包含计算后的时间戳的时间戳类型的 cudf::column
-
std::unique_ptr<cudf::column> is_leap_year(cudf::column_view const &column, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
检查给定日期的年份是否为闰年。
output[i] == true
如果column[i]
的年份是闰年output[i] == false
如果column[i]
的年份不是闰年output[i] is null
如果column[i]
是 null- 参数:
column – 输入日期时间值的 cudf::column_view
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 抛出:
cudf::logic_error – 如果输入列数据类型不是 TIMESTAMP
- 返回:
数据类型为 BOOL8 的 cudf::column,表示对应日期的布尔值
-
std::unique_ptr<cudf::column> days_in_month(cudf::column_view const &column, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
提取月份中的天数。
output[i]
包含日期column[i]
所在月份的天数output[i] is null
如果column[i]
是 null- 抛出:
cudf::logic_error – 如果输入列数据类型不是 TIMESTAMP
- 参数:
column – 输入日期时间值的 cudf::column_view
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
数据类型为 INT16 的 cudf::column,表示对应日期的月份天数
-
std::unique_ptr<cudf::column> extract_quarter(cudf::column_view const &column, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回日期的季度。
output[i]
将是从 {1, 2, 3, 4} 中选取的值,对应于column[i]
给出的月份季度。如果输入行column[i]
为 null,则它将为 null。- 抛出:
cudf::logic_error – 如果输入列数据类型不是 TIMESTAMP
- 参数:
column – 包含日期时间值的输入列
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
INT16 类型的列,指示日期所在的季度
-
std::unique_ptr<cudf::column> ceil_datetimes(cudf::column_view const &column, rounding_frequency freq, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
将日期时间向上舍入到给定频率的最近倍数。
- 参数:
column – 输入日期时间值的 cudf::column_view
freq – 指示向上舍入频率的 rounding_frequency
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 抛出:
cudf::logic_error – 如果输入列数据类型不是 TIMESTAMP。
- 返回:
与输入列具有相同日期时间精度的 cudf::column
-
std::unique_ptr<cudf::column> floor_datetimes(cudf::column_view const &column, rounding_frequency freq, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
将日期时间向下舍入到给定频率的最近倍数。
- 参数:
column – 输入日期时间值的 cudf::column_view
freq – 指示向下舍入频率的 rounding_frequency
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 抛出:
cudf::logic_error – 如果输入列数据类型不是 TIMESTAMP。
- 返回:
与输入列具有相同日期时间精度的 cudf::column
-
std::unique_ptr<cudf::column> round_datetimes(cudf::column_view const &column, rounding_frequency freq, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
将日期时间舍入到给定频率的最近倍数。
- 参数:
column – 输入日期时间值的 cudf::column_view
freq – 指示舍入频率的 rounding_frequency
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 抛出:
cudf::logic_error – 如果输入列数据类型不是 TIMESTAMP。
- 返回:
与输入列具有相同日期时间精度的 cudf::column
-
std::unique_ptr<cudf::column> last_day_of_month(cudf::column_view const &column, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#