转换为熊猫的日期时间

如何解决转换为熊猫的日期时间

我将数据保存到CSV文件中,如下所示:

Date,Bid,Ask
04/12/19 11:00 AM,1970,2010
05/12/19 11:00 AM,1960,2000
05/12/19 04:00 PM,1900,1925
06/12/19 11:00 AM,1890,1910
06/12/19 04:00 PM,2000,2025

我正在尝试使用 pd.to_datetime()将“日期”列转换为日期时间,但出现此错误

ValueError:时间数据'04 / 12/19 11:00 AM'与格式'%d /%m /%y%I:%M%p'(匹配)不匹配

这是我的代码

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("file_1.csv")
df['Date'] = pd.to_datetime(df['Date'],format='%d/%m/%y %I:%M %p')
df = df.set_index(["Date"])
df.plot()
plt.show()

这是整个错误

Traceback (most recent call last):
  File "/home/zakaria/.local/lib/python3.8/site-packages/pandas/core/tools/datetimes.py",line 450,in _convert_listlike_datetimes
    values,tz = conversion.datetime_to_datetime64(arg)
  File "pandas/_libs/tslibs/conversion.pyx",line 350,in pandas._libs.tslibs.conversion.datetime_to_datetime64
TypeError: Unrecognized value type: <class 'str'>

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "file.py",line 6,in <module>
    df['Date'] = pd.to_datetime(df['Date'],format='%d/%m/%y %I:%M %p')
  File "/home/zakaria/.local/lib/python3.8/site-packages/pandas/core/tools/datetimes.py",line 803,in to_datetime
    values = convert_listlike(arg._values,format)
  File "/home/zakaria/.local/lib/python3.8/site-packages/pandas/core/tools/datetimes.py",line 454,in _convert_listlike_datetimes
    raise e
  File "/home/zakaria/.local/lib/python3.8/site-packages/pandas/core/tools/datetimes.py",line 417,in _convert_listlike_datetimes
    result,timezones = array_strptime(
  File "pandas/_libs/tslibs/strptime.pyx",line 144,in pandas._libs.tslibs.strptime.array_strptime
ValueError: time data '04/12/19 11:00 AM' does not match format '%d/%m/%y %I:%M %p' (match)

解决方法

为什么不pd.to_datetime不使用格式?

df['Date'] = pd.to_datetime(df['Date'])
print(df)

                 Date   Bid   Ask
0 2019-04-12 11:00:00  1970  2010
1 2019-05-12 11:00:00  1960  2000
2 2019-05-12 16:00:00  1900  1925
3 2019-06-12 11:00:00  1890  1910
4 2019-06-12 16:00:00  2000  2025
,

您可以尝试以下方法:

df['Date'] = pd.to_datetime(df['Date'],format='%d/%m/%y %I:%M %p')
print(df)

enter image description here

,

已解决

Scaffold(...)

代替

df['Date'] = pd.to_datetime(df['Date'],dayfirst=True)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?