我无法将浮点型列转换为时间格式。
我有一个熊猫数据框,其中有一列有关时间(小时和分钟)的信息。 Python将其读取为浮点数,一旦我要总结数据(总和),就必须将其转换为时间格式。
为此,我使用了函数pd.to_datetime。当我运行代码时,Python显示以下消息:ValueError:时间数据'0:0'与格式'%HH:%MM'(匹配)不匹配。
之所以发生这种情况,是因为在我的数据中,我有时间以“ 00:00”和“ 0:0”的格式显示。
尝试解决此问题,我尝试获取此列每一行的长度,以便过滤不同的时间格式。但是,当我这样做时,Python显示以下消息:
TypeError:“ float”类型的对象没有len()
我该怎么办?
以下是我的代码的几行:
#the packages I'm using
import pandas as pd
import numpy as np
#my dataframe
df_freq = pd.read_csv('freq_bim_2018_validacao.csv',
skiprows= 3,
delimiter = ',')
#the code I tried to run to convert my data
df_freq.CARGA_HORARIA_TOTAL_FALTAS_ALUNO2 =
pd.to_datetime(df_freq.CARGA_HORARIA_TOTAL_FALTAS_ALUNO2,
format = '%HH:%MM', utc = True)
ValueError: time data '0:0' does not match format '%HH:%MM' (match)
#me, trying to get the lenght of a float column
df_freq['CH_FALTAS_lengh'] =
df_freq['CARGA_HORARIA_TOTAL_FALTAS_ALUNO2'].apply(len)
TypeError: object of type 'float' has no len()