Python 蟒蛇熊猫';AttributeError:只能对datetimelike值使用.dt访问器';十进制到小时

Python 蟒蛇熊猫';AttributeError:只能对datetimelike值使用.dt访问器';十进制到小时,python,pandas,Python,Pandas,我在df中有一列 hour 1.0 2.0 3.0 6.0 Nan 我想把它转换成如下所示的时间格式 hour 1:00 2:00 3:00 6:00 但是,我无法获得正确的格式。我试图强制使用如下格式。我还希望保留Nan值的逻辑 pd.to_datetime(df['hour'], format='%H', coerce=True) 但这只返回NaT值。此处: pd.to_datetime(df['hour'], unit='h') 将格式更改为单位。如果您使用的是数字数据(就像您一

我在df中有一列

hour
1.0
2.0
3.0
6.0 
Nan
我想把它转换成如下所示的时间格式

hour
1:00
2:00
3:00
6:00
但是,我无法获得正确的格式。我试图强制使用如下格式。我还希望保留Nan值的逻辑

pd.to_datetime(df['hour'], format='%H', coerce=True)
但这只返回NaT值。

此处:

pd.to_datetime(df['hour'], unit='h')
格式
更改为
单位
。如果您使用的是数字数据(就像您一样),则不能使用
格式<代码>格式
仅适用于字符串

%H
,例如字符串插值,由于数据是数字(浮点),字符串插值将失败


请注意,打印输出与问题中的输出不相似。因为,pandas会将其转换为datetime类型。打印时,它看起来像
'1970-01-01 00:00:00'
。如果需要所需格式,可以运行以下任一操作:

pd.to_datetime(df['hour'], unit='h').apply(lambda h: '{}:00'.format(h.hour))
或:

在这里:

格式
更改为
单位
。如果您使用的是数字数据(就像您一样),则不能使用
格式<代码>格式
仅适用于字符串

%H
,例如字符串插值,由于数据是数字(浮点),字符串插值将失败


请注意,打印输出与问题中的输出不相似。因为,pandas会将其转换为datetime类型。打印时,它看起来像
'1970-01-01 00:00:00'
。如果需要所需格式,可以运行以下任一操作:

pd.to_datetime(df['hour'], unit='h').apply(lambda h: '{}:00'.format(h.hour))
或:


pandas datetime格式用于存储完整的日期。如果您只想将值1格式化为“1:00”,那么就需要格式化字符串。如果不是这样,请详细说明您希望实现的结果。pandas datetime格式用于存储完整的日期。如果您只想将值1格式化为“1:00”,那么就需要格式化字符串。如果不是这样,请详细说明你希望达到的结果。