【问题标题】:csv Pandas datetime convert time to secondscsv Pandas datetime 将时间转换为秒
【发布时间】:2019-07-28 20:42:02
【问题描述】:

我使用来自 Datalogger 的数据,但 Pandas Dataframe 中的日期时间不支持时间戳。

我想将此时间戳转换为熊猫知道的格式,然后将日期时间转换为秒,从 0 开始。

>>>df.time
0    05/20/2019 19:20:27:374
1    05/20/2019 19:20:28:674
2    05/20/2019 19:20:29:874
3    05/20/2019 19:20:30:274
Name: time, dtype: object

我试图将它从对象转换为 datetime64[ns]。 %m 或 %b 代表月份。

df_time = pd.to_datetime(df["time"], format = '%m/%d/%y %H:%M:%S:%MS')
df_time = pd.to_datetime(df["time"], format = '%b/%d/%y %H:%M:%S:%MS')

出现错误:将组名“M”重新定义为组 7;是第 5 组的第 155 位

我试图减少数据集并删除毫秒但没有成功。

df['time'] = pd.to_datetime(df['time'],).str[:-3]

ValueError: ('未知字符串格式:', '05/20/2019 19:20:26:383')

或者是否可以从列时间中的所有其他值中减去第一条时间线?

【问题讨论】:

    标签: python python-3.x pandas csv datetime


    【解决方案1】:

    使用'%m/%d/%Y %H:%M:%S:%f' 作为格式而不是'%m/%d/%y %H:%M:%S:%MS'

    这里是documentation的格式供以后参考

    【讨论】:

    • 确保使用大写字母 Y 而不是 y
    【解决方案2】:

    我不确定您在寻找什么,但您可以使用上面的示例来格式化您的输出,然后您可以通过这种方式从结果中删除项目,例如微秒:

    date = str(datetime.now())
    print(date)
    2019-07-28 14:04:28.986601
    print(date[11:-7])
    14:04:28
    time = date[11:-7]
    print(time)
    14:04:28
    

    【讨论】:

      猜你喜欢
      • 2017-10-22
      • 2022-01-17
      • 1970-01-01
      • 2018-11-01
      • 2012-10-12
      • 1970-01-01
      • 2015-01-02
      • 2022-01-02
      相关资源
      最近更新 更多