问题语句1(容易)我想将数据帧的时间列转换为实际时间值,例如“ 12:01:45” hh:mm:ss
尝试过:df_new["time_1"] = pd.to_datetime(df_new.TIME)
这给了我新的一行-但它显示的是日期值而不是时间。:(
然后我尝试df_new['Time_1'] = pd.to_datetime(df_new['TIME'], format='%H%M').dt.time
但是输出是:ValueError:时间数据“ 0”与格式“%H%M”不匹配(匹配)
预期>> time_1 in hh:mm:ss
样本数据 :
PRIMARY_KEY DATE TIME LATITUDE LONGITUDE ALTITUDE DATE_1 time_1
0 b04acedfaa0a 43900 0.499964 43.738003 -79.815340 221.0 2020-03-10 1970-01-01
1 efc27d128dac 43900 0.500140 43.736450 -79.813030 221.0 2020-03-10 1970-01-01
2 19b344a8ef88 43900 0.500293 43.730568 -79.821304 216.0 2020-03-10 1970-01-01
3 0c67c3eefb73 43900 0.500431 43.742660 -79.831710 235.0 2020-03-10 1970-01-01
问题语句2(复杂并具有挑战性)转换为实际时间后,我想执行一些操作。
输入将是主键值(例如19b344a8ef88)
操作上,我要制作满足两个条件的主键对:
a)接近50 mtrs的距离(使用LAT和LONG),并且
b)几乎同时说10分钟的时差
我期望的输出形式为:
Primary Key Instances
b04acedfaa0a. 5
efc27d128dac. 3
表示b04acedfaa0a主键的总5次接近和与19b344a8ef88相同的时间为50 mtrs。
希望我能自我解释...........
对于第一个问题,快速解决方案是在导入之前在csv中格式化数据。在将csv加载到python中之前,您可以尝试在excel中将“日期”列更改为“短日期”,将“时间”列更改为“时间”并保存csv(将其重命名,以免覆盖原始文件)然后尝试在python中导入?
在python中可能有一个聪明的方法来做到这一点。
对于第二个问题,如果按照以下步骤操作,您可能会得到满意的结果:
pd.merge()
df.query()
(例如,接近50 mtrs的距离和最多10分钟的时差)过滤加入的数据集以满足您的额外条件df['Primary key'].value_counts()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句