有没有一种首选的方法将pandas DateTimeIndex转换为YYYYMMDD整数列?我需要将日期以整数形式存储到一个假定日期是整数的预先存在的SQLite表格中。
当使用SQLite风格和index=True时,Pandas的to_sql()会出现“sqlite3.InterfaceError”错误。显然,使用SQLalchemy风格可以将DateTimeIndex转换为字符串,但我仍然需要将其作为YYYYMMDD整数形式。
虽然似乎有to_datetime()和to_pydatetime()函数,但似乎没有from_datetime()函数。
当使用SQLite风格和index=True时,Pandas的to_sql()会出现“sqlite3.InterfaceError”错误。显然,使用SQLalchemy风格可以将DateTimeIndex转换为字符串,但我仍然需要将其作为YYYYMMDD整数形式。
虽然似乎有to_datetime()和to_pydatetime()函数,但似乎没有from_datetime()函数。
from_datetime
函数会帮助简化/优化从DateTimeIndex
转换为 numpy 整数数组或其他用户可能需要的数据类型。可能有点多余了 -- 不管怎样,感谢您提供的示例。 - bazelnp.array
上使用from_datetime
吗?嗯,numpy将其写为.astype('I4')
,还有一些快捷方式,如.asi8()
(你必须在某个地方指定to
类型;你不必指定from
类型,因为数组已经知道它的dtype...)。问题是你试图转换为非标准格式。你可以直接从Timestamp
转换为int
,但这样你会得到自Unix纪元以来的纳秒数,而不是YYYYMMDD
。你可以从Timestamp
转换为str
,但这样你会得到ISO/RFC格式,即YYYY-MM-DDTHH:MM:SS
。 - abarnert