当前位置: 首页 > 面试题库 >

在熊猫中,如何将日期字符串转换为日期时间对象并将其放入DataFrame中?

危烨煜
2023-03-14
问题内容
import pandas as pd
date_stngs = ('2008-12-20','2008-12-21','2008-12-22','2008-12-23')

a = pd.Series(range(4),index = (range(4)))

for idx, date in enumerate(date_stngs):
    a[idx]= pd.to_datetime(date)

此代码位产生错误:

TypeError:“’int’对象不可迭代”

谁能告诉我如何将这一系列日期时间字符串作为DateTime对象放入DataFrame中?


问题答案:
>>> import pandas as pd
>>> date_stngs = ('2008-12-20','2008-12-21','2008-12-22','2008-12-23')
>>> a = pd.Series([pd.to_datetime(date) for date in date_stngs])
>>> a
0    2008-12-20 00:00:00
1    2008-12-21 00:00:00
2    2008-12-22 00:00:00
3    2008-12-23 00:00:00

更新

使用pandas.to_datetime(pd.Series(..))。简洁明了,比上面的代码要快得多。

>>> pd.to_datetime(pd.Series(date_stngs))
0   2008-12-20 00:00:00
1   2008-12-21 00:00:00
2   2008-12-22 00:00:00
3   2008-12-23 00:00:00


 类似资料:
  • 问题内容: 我试图将字符串转换为日期时间对象。我从新闻提要中获取的字符串格式如下:“星期四,2014年10月16日美国东部时间01:16:17” 我尝试使用datetime.strptime()进行转换。即 并得到以下错误: 追溯(最近一次通话最近): 文件“”,第1行,位于datetime.strptime(’Thu,16 Oct 2014 01:16:17 EDT’,’%a,%d%b%Y%H:

  • 问题内容: 我已经阅读了很多SO答案,但是找不到明确的解决方案。 我在称为小时的df中有此数据: 我想将其转换为时间格式。但是当我这样做时: 结果包括今天的日期: 看来参数不起作用-如何获得没有显示日期的时间? 更新资料 以下内容可以正确设置时间格式,但是以某种方式,该列仍然是对象类型。为什么不转换为? 问题答案: 执行转换后,您可以使用datetime访问器仅访问或组件: 另外,您的格式字符串格

  • 问题内容: 我正在获取格式为“ 2009-05-28T16:15:00”的日期时间字符串(我相信这是ISO 8601)。一种可能的选择似乎是使用time.strptime元组的前六个元素并将其传递到datetime构造函数中来解析字符串,例如: 我还没有找到一种“清洁”的方法。有一个吗? 问题答案: 我更喜欢使用dateutil库进行时区处理和一般的可靠日期解析。如果要获得类似ISO 8601的字

  • 它是使用创建的,如何将字符串转换回对象?

  • 问题内容: 在Android中,每个事件的日期(例如生日和纪念日)都以String格式保存,例如“ 2011-12-24”。 至少我的手机是这种情况。如果某些其他电话的日历与公历不同,则可能以其他格式存储这些日期。 即使对于带有公历日历设置的电话,也存在带小时和分钟且不带日期和日期的日期字符串。当我查询联系人表中的事件时,得到这样的日期字符串: 结果是(例如): “ 2011-12-14”或“ 2

  • 问题内容: 我陷入了一个问题,将不胜感激。我已经阅读了很多讨论,但它们似乎对我没有用。 如何将其转换为日期对象?我要这样做的原因是因为我想在google图表指令中使用它,其中列之一必须是日期。我不想将列类型设置为字符串: 例如: 问题答案: 这是我在控制器上所做的 我最终将日期格式化为所需的指令格式,如下所示。 这使我在图表的x轴上以dd / MM / yyyy(26/04/2002)的格式输入日