我正在尝试将 pandas 数据帧的一列从 datetime['ns'] 转换为 datetime['us']。
我尝试过使用
astype
,但列类型似乎没有改变。由于某些下游库检查特定列类型,我需要更新列本身的类型。
>> data[column].dtype.name
'datetime64[ns]'
>> data[column] = data[column].astype('datetime64[us]')
>> data[column].dtype.name
'datetime64[ns]'
Pandas 内部默认表示以纳秒为单位的日期时间数据 (
datetime64[ns]
)。当您尝试将其转换为微秒(datetime64[us])时,pandas 不会更改数据的内部表示,因此 dtype
仍然显示为 datetime64[ns]
。如果你想输出微秒精度的数据,可以尝试以下方法:
data['datetime_column'].dt.strftime('%Y-%m-%d %H:%M:%S.%f')