日期时间计算#
- group datetime_compute
枚举
函数
-
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。
- Parameters:
column – cudf::column_view 输入日期时间值的列视图
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Throws:
cudf::logic_error – 如果输入列的数据类型不是TIMESTAMP
- Returns:
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}]之间。
- Parameters:
column – cudf::column_view 输入日期时间值的列视图
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Throws:
cudf::logic_error – 如果输入列的数据类型不是TIMESTAMP
- Returns:
cudf::column 数据类型为 INT16,包含自年初以来的天数
-
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列的值为空,则该行的输出为空。此方法在适用的情况下保留输入时间和日期。如果新日期对该月份无效,则日期将向下舍入到该年的该月的最后一天。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]- Throws:
cudf::logic_error – 如果
timestamps数据类型不是 TIMESTAMP 或者如果months数据类型不是 INT16 或 INT32。cudf::logic_error – 如果
timestamps列的大小不等于months列的大小。
- Parameters:
timestamps – cudf::column_view 时间戳类型
months – cudf::column_view 包含要添加的月份数的整数类型列视图
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
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值为空,则该行的输出为空。一个空的月份标量将导致整个列为空。此方法在适用时保留输入时间和日期。如果新日期对该月份无效,则日期将向下舍入到该年的最后一天。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]
- Throws:
cudf::logic_error – 如果
timestamps数据类型不是 TIMESTAMP 或者如果months数据类型不是 INT16 或 INT32。cudf::logic_error – 如果
timestamps列的大小不等于months列的大小。
- Parameters:
timestamps – cudf::column_view 时间戳类型
months – cudf::scalar 整数类型的标量,包含要添加的月数
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
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]是空值- Parameters:
column – cudf::column_view 输入日期时间值的列视图
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Throws:
cudf::logic_error – 如果输入列的数据类型不是TIMESTAMP
- Returns:
cudf::column 数据类型为 BOOL8 的对应日期的真值
-
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]所在月份的天数。如果column[i]为 null,则 output[i] 也为 null- Throws:
cudf::logic_error – 如果输入列的数据类型不是TIMESTAMP
- Parameters:
column – cudf::column_view 输入日期时间值的列视图
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
cudf::column 数据类型为 INT16,表示对应日期的月份中的天数
-
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]处的输入行为空,则它将为空。- Throws:
cudf::logic_error – 如果输入列的数据类型不是TIMESTAMP
- Parameters:
column – 包含日期时间值的输入列
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
一个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())#
将日期时间向上舍入到给定频率的最接近的倍数。
- Parameters:
column – cudf::column_view 输入日期时间值的列视图
freq – rounding_frequency 表示要向上舍入的频率
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Throws:
cudf::logic_error – 如果输入列的数据类型不是TIMESTAMP。
- Returns:
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())#
将日期时间向下舍入到给定频率的最接近的倍数。
- Parameters:
column – cudf::column_view 输入日期时间值的列视图
freq – rounding_frequency 表示要向下舍入的频率
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Throws:
cudf::logic_error – 如果输入列的数据类型不是TIMESTAMP。
- Returns:
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())#
将日期时间四舍五入到给定频率的最接近的倍数。
- Parameters:
column – cudf::column_view 输入日期时间值的列视图
freq – rounding_frequency 表示要舍入到的频率
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Throws:
cudf::logic_error – 如果输入列的数据类型不是TIMESTAMP。
- Returns:
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())#