如何将 pandas 数据框日期时间列转换为 int?

iro*_*012 4 python datetime type-conversion dataframe pandas

datetime中的一列转换为我的代码时遇到问题: int.

df['datetime_column'].astype(np.int64)
Run Code Online (Sandbox Code Playgroud)

我收到的错误是:

以 10 为基数的 int() 的文字无效:'2018-02-25 09:31:15'

我对正在发生的事情一无所知,因为我的其他一些datetime专栏的转换工作正常。可转换为的日期范围是否存在问题int

Pra*_*iel 5

你会使用

df['datetime_colum'].apply(lambda x:x.toordinal())
Run Code Online (Sandbox Code Playgroud)

如果失败,原因可能是您的列是对象而不是日期时间。所以你需要:

df['datetime_colum'] = pd.to_datetime(df['datetime_colum'])
Run Code Online (Sandbox Code Playgroud)

在将其发送到序数之前。

如果您正在从事特征工程,您可以尝试在 date1 和 date2 之间创建日期,通过查看月份来获取是否是冬季、夏季、秋季或春季的布尔值,如果有时间,则获取是否是早上、中午的布尔值,或晚上,但这一切都取决于您的机器学习问题。