将熊猫中的时间列从浮点转换为实际时间值

Pratyada

问题语句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。

希望我能自我解释...........

Zolzaya Luvsandorj

对于第一个问题,快速解决方案是在导入之前在csv中格​​式化数据。在将csv加载到python中之前,您可以尝试在excel中将“日期”列更改为“短日期”,将“时间”列更改为“时间”并保存csv(将其重命名,以免覆盖原始文件)然后尝试在python中导入?

在python中可能有一个聪明的方法来做到这一点。

对于第二个问题,如果按照以下步骤操作,您可能会得到满意的结果:

  1. 使用“主键”连接数据框 pd.merge()
  2. 使用df.query()(例如,接近50 mtrs的距离和最多10分钟的时差)过滤加入的数据集以满足您的额外条件
  3. 获取每个主键的计数以使用您的实例 df['Primary key'].value_counts()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章