文件 | 枚举 | 函数
计算天

文件

文件  datetime.hpp
 日期时间列 API。
 

枚举

枚举类  cudf::datetime::rounding_frequency : int32_t {
  DAY , HOUR , MINUTE , SECOND ,
  MILLISECOND , MICROSECOND , NANOSECOND
}
 日期时间舍入函数 ceil、floor、round 支持的固定频率。
 

函数

std::unique_ptr< cudf::columncudf::datetime::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更多...
 
std::unique_ptr< cudf::columncudf::datetime::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}] 之间。 更多...
 
std::unique_ptr< cudf::columncudf::datetime::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 列类型相同的时间戳列。 更多...
 
std::unique_ptr< cudf::columncudf::datetime::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 列类型相同的时间戳列。 更多...
 
std::unique_ptr< cudf::columncudf::datetime::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())
 检查给定日期的年份是否为闰年。 更多...
 
std::unique_ptr< cudf::columncudf::datetime::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())
 提取月份中的天数。 更多...
 
std::unique_ptr< cudf::columncudf::datetime::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())
 返回日期的季度。 更多...
 
std::unique_ptr< cudf::columncudf::datetime::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())
 将日期时间向上舍入到给定频率的最近倍数。 更多...
 
std::unique_ptr< cudf::columncudf::datetime::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())
 将日期时间向下舍入到给定频率的最近倍数。 更多...
 
std::unique_ptr< cudf::columncudf::datetime::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())
 将日期时间舍入到给定频率的最近倍数。 更多...
 

详细描述

函数文档

◆ add_calendrical_months() [1/2]

std::unique_ptr<cudf::column> cudf::datetime::add_calendrical_months ( cudf::column_view const &  timestamps,
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 列类型相同的时间戳列。

对于给定行,如果 timestampsmonths 列的值为空 (null),则该行的输出为空。此方法保留输入时间和适用的日期。如果新日期对该月无效,则日期将向下舍入到当年的该月最后一天。

示例
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 列的大小不相等。
参数
timestampscudf::column_view,时间戳类型
monthscudf::column_view,整数类型,包含要添加的月数
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
cudf::column,时间戳类型,包含计算后的时间戳

◆ add_calendrical_months() [2/2]

std::unique_ptr<cudf::column> cudf::datetime::add_calendrical_months ( cudf::column_view const &  timestamps,
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),则该行的输出为空。空的 months scalar 将导致一个全为空值的列。此方法保留输入时间和适用的日期。如果新日期对该月无效,则日期将向下舍入到当年的该月最后一天。

示例
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 列的大小不相等。
参数
timestampscudf::column_view,时间戳类型
monthscudf::scalar,整数类型,包含要添加的月数
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
cudf::column,时间戳类型,包含计算后的时间戳

◆ ceil_datetimes()

std::unique_ptr<cudf::column> cudf::datetime::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() 
)

将日期时间向上舍入到给定频率的最近倍数。

参数
columncudf::column_view,输入日期时间值
freqrounding_frequency,指示向上舍入的频率
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
异常
cudf::logic_error如果输入列的数据类型不是 TIMESTAMP。
返回值
cudf::column,与输入列具有相同的日期时间精度

◆ day_of_year()

std::unique_ptr<cudf::column> cudf::datetime::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}] 之间。

参数
columncudf::column_view,输入日期时间值
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
cudf::column,数据类型为 INT16,包含从年初开始的天数
异常
cudf::logic_error如果输入列的数据类型不是 TIMESTAMP

◆ days_in_month()

std::unique_ptr<cudf::column> cudf::datetime::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

异常
cudf::logic_error如果输入列的数据类型不是 TIMESTAMP
参数
columncudf::column_view,输入日期时间值
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
cudf::column,数据类型为 INT16,包含对应日期的月份中的天数

◆ extract_quarter()

std::unique_ptr<cudf::column> cudf::datetime::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] 将是对应于由 column[i] 给定的月份季度的值,取值范围为 {1, 2, 3, 4}。如果输入行 column[i] 为 null,则它将为 null。

异常
cudf::logic_error如果输入列的数据类型不是 TIMESTAMP
参数
column包含日期时间值的输入列
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
一个 INT16 类型的列,指示日期所在的季度

◆ floor_datetimes()

std::unique_ptr<cudf::column> cudf::datetime::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() 
)

将日期时间向下舍入到给定频率的最近倍数。

参数
columncudf::column_view,输入日期时间值
freqrounding_frequency,指示向下舍入的频率
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
异常
cudf::logic_error如果输入列的数据类型不是 TIMESTAMP。
返回值
cudf::column,与输入列具有相同的日期时间精度

◆ is_leap_year()

std::unique_ptr<cudf::column> cudf::datetime::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() 
)

检查给定日期的年份是否为闰年。

如果 column[i] 的年份是闰年,则 output[i] == true,如果 column[i] 的年份不是闰年,则 output[i] == false,如果 column[i] 为 null,则 output[i] 为 null

参数
columncudf::column_view,输入日期时间值
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
cudf::column,数据类型为 BOOL8,对应日期的布尔值
异常
cudf::logic_error如果输入列的数据类型不是 TIMESTAMP

◆ last_day_of_month()

std::unique_ptr<cudf::column> cudf::datetime::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

参数
columncudf::column_view,输入日期时间值
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
cudf::column,包含作为 TIMESTAMP_DAYS 的月份最后一天
异常
cudf::logic_error如果输入列的数据类型不是 TIMESTAMP

◆ round_datetimes()

std::unique_ptr<cudf::column> cudf::datetime::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() 
)

将日期时间舍入到给定频率的最近倍数。

参数
columncudf::column_view,输入日期时间值
freqrounding_frequency,指示舍入的频率
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
异常
cudf::logic_error如果输入列的数据类型不是 TIMESTAMP。
返回值
cudf::column,与输入列具有相同的日期时间精度