如何解决熊猫:列与其元素之间的数据类型不同
我已将 CSV 文件加载到 Panda 数据框中并清理了数据元素。对于特定列,设想的数据类型是 datetime.time。该列中的所有元素都显示为数据类型日期时间.时间,但列本身显示为类型对象,这使得之后的处理变得困难。我什至添加了另一行将元素转换为时间类型:
我需要做什么才能将列设为 datetime.time 类型?
Here is the data:
0 00:52:08
1 01:24:02
2 00:45:06
3 00:59:38
4 00:53:12
...
1242 00:41:07
1243 00:58:28
1244 00:39:57
1245 01:13:14
1246 00:56:02
Name: Zeit,Length: 1247,dtype: object
And the types I get:
0 <class 'datetime.time'>
1 <class 'datetime.time'>
2 <class 'datetime.time'>
3 <class 'datetime.time'>
4 <class 'datetime.time'>
...
1242 <class 'datetime.time'>
1243 <class 'datetime.time'>
1244 <class 'datetime.time'>
1245 <class 'datetime.time'>
1246 <class 'datetime.time'>
Name: Zeit,dtype: object
这里是包含“数据清理”功能的代码
def convertRunTime(timeString) : #convert the time string into a datetime object and set 0 values in case of missing values
try :
format="%H:%M:%S"
return datetime.datetime.strptime(timeString,format).time()
except ValueError:
try :
pos=timeString.rfind(',')
if(pos !=0 ) :
return datetime.datetime.strptime(timeString[0:pos],format).time()
except ValueError as err:
print("Error converting run time ",timeString," ",err)
return datetime.time()
try:
paceData['Zeit'] = paceData['Zeit'].map(convertRunTime)
paceData['Zeit'] = pd.to_datetime(paceData['Zeit'],format='%H:%M:%S').dt.time
except ValueError as err:
print("invalid time: ",err)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。