当前位置: 首页 > 知识库问答 >
问题:

如何解决熊猫代码中的日期时间错误?

南宫建白
2023-03-14

我有一个有 7 列的 csv 文件[“日期”、“时间”、“打开”、“高”、“最低”、“收盘”、“交易量”] 问题是我试图设置日期时间索引,但它不起作用可能是因为日期和时间是两个单独的列。

代码如下:

import pandas as pd

column_names = ['Date', 'Time', 'Open', 'High', 'Low','Close', 'Volume']

df = pd.read_csv(r"E:\Tutorial\EURUSD60.csv", header=None, names=column_names)

df['DateTime'] = pd.to_datetime(df['Date', 'Time'])

print(df.head())

错误如下:

C:\用户\sydgo\Anaconda3\_locE:/教程/pandas_libsTraceback(最近调用最后一次):文件“C:\用户\sydgo\Anaconda3\lib\站点包\熊猫\核心\索引\_loc”,第2442行,get_loc返回自我。_pandas_libs_loc(键)文件“pandas_libs\_item”,第132行,在熊猫中。_pandas_libspython.exe文件“language.py\_item”,第154行,在熊猫中。_libs.index.IndexEngine.getlibs.index.IndexEngine.getbase.py文件“engine.get\hashtable_class_helper.pxi”,第1210行,在熊猫中。_libs.hashtable.PyObjectHashTable.getindex.pyx文件“libs.index.IndexEngine.get\hashtable_class_helper.pxi”,第1218行,在熊猫中。_libs.hashtable.PyObjectHashTable.getindex.pyx键错误:(“日期”,“时间”)

在处理上述html" target="_blank">异常期间,发生了另一个异常

回溯(最近一次调用):文件“E:/Tutorial/language.py”,第7行,在df['DateTime']=pd.to_DateTime(df['Date','Time'])文件“C:\Users\sydgo\Anaconda3\lib\site packages\pandas\core\frame.py”中,第1964行,在getitem return self._getitem_column(key)文件“C:\Users\sydgo\Anaconda3\lib\site packages \pandas\care\frame.py”的第1971行,在_getitem_column return self._get_item_cache(key)文件“C:\Users\sydgo\Anaconda3\lib\site packages\pandas\core\generic.py”的第1645行,在_get_iem_cachevalues=self.data.get(item)文件“C:\Users\sydgo\Anaconda3\lib\site packages\pandas\internals.py”,第3590行,在get-loc=self.items.get_loc(item)文件”C:\User\sydgo\ Anacond3\lib/site package \pandas \core\indexs\base中.py“,第2444行,在get_loc中返回self._engine.get_locc(self_maybe_cast_indexer(key))文件“pandas_libs\index.pyx”,第132行,在pandas._libs.index.IndexEngine.get_oc文件“panas_libs\ index.py”,第154行,熊猫._libs.index.IindexEngine.et_loc文件“潘达斯_libs\hashtable_class_helper.pxi”,第1210行,在pandas._libs.hashtable.PyObjectHashTable.get_item文件“pandas_libs\hashtabe_class_helper.pxi”的第1218行中,在pandas._libs.hashtable.ByObjectHashtable.get_tem KeyError:('日期','时间')

共有1个答案

李弘光
2023-03-14

如果你简化你的代码,你会发现错误就在这里:

df['Date', 'Time']

这是因为您正在按两个字符串对DataFrame进行一次索引,但您希望按两个串中的每一个对其进行两次索引。即:

df[['Date', 'Time']]

不过,这可能会失败,因为< code>to_datetime需要字符串,而不是字符串对:

pd.to_datetime(df['Date', 'Time'])

在这种情况下,请尝试以下操作:

pd.to_datetime(df.Date + ' ' + df.Time)
 类似资料:
  • 我用python 2.7.7安装了Anaconda。 但是,每当我运行“import pandas”时,就会出现错误: 我尝试运行建议的命令,但它指出 以前是否有人遇到过这种情况并找到了解决方案?

  • 问题内容: 在pandas数据框中有一个datetime列,其值如下: 我想知道如何舍入这些值,摆脱毫秒,仅将日期,小时,分钟和00表示为秒,如下所示: 问题答案: 使用与用于分钟设置: 我想将时间值更改为下一个值:

  • 我试图更新一个列,但在更新过程中总是有相同的错误,如果我不想禁用“安全更新模式”,我该如何解决这个问题?这是我的查询 错误代码:1175。您使用的是安全更新模式,并且您试图更新一个没有使用键列禁用安全模式的表,请在“首选项”中切换该选项-

  • 我有一个熊猫时期对象: 从书(Python for Data Analysis)中,的意思是 季度日期固定在每个月的最后一个日历日,在指定月份(1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月或12月)结束的年份 这到底是什么意思? 从我的常识来看,包括八月、九月和十月。那么在这里如何处理十二月()呢? 任何人都可以简明扼要地解释变量吗?提前感谢您。:)

  • 问题内容: 我有一个包含300k条带有日期的记录的变量,并且该日期看起来像是该日期的 2015-02-21 12:08:51 我想删除时间 日期变量的类型是pandas.core.series.series 这是我尝试的方式 一些随机错误 在上面的代码中,textdata是我的数据集名称,而vfreceived date是一个由日期组成的变量。 如何编写代码以从datetime中删除时间。 问题答

  • 我试图使用pandas.to_datetime()将只包含小时、分钟和秒的日期列转换为日期时间形式。但是,它会自动添加年份和日期。我还尝试使用pandas.to_datetime(df["time"],format = % H:% M:% S ")dt . time,数据类型仍然是object。有没有什么方法可以变成不带年份和日期的datetime格式?