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

如何在python中将字符串转换为日期时间格式?

颜河
2023-03-14

我在一个名为train的数据帧中有一个类型为string(object)的列I_DATE,如下所示。

I_DATE
28-03-2012  2:15:00 PM
28-03-2012  2:17:28 PM
28-03-2012  2:50:50 PM

如何将I_日期从字符串转换为数据时间格式

另外,如何根据熊猫中的日期范围筛选行?

共有2个答案

鲁靖
2023-03-14

方法: 1

给定原始字符串格式:2019/03/04 00:08:48

你可以用

updated_df=df['时间戳']. astype('datetime64[ns]')

结果将是这种datetime格式:2019-03-04 00:08:48

方法: 2

updated_df=df。astype({'timestamp':'datetime64[ns]})

毋弘光
2023-03-14

使用来\u datetime,不需要格式字符串,解析器可以处理它:

In [51]:
pd.to_datetime(df['I_DATE'])

Out[51]:
0   2012-03-28 14:15:00
1   2012-03-28 14:17:28
2   2012-03-28 14:50:50
Name: I_DATE, dtype: datetime64[ns]

要访问日期/日期/时间组件,请使用dt访问器:

In [54]:
df['I_DATE'].dt.date

Out[54]:
0    2012-03-28
1    2012-03-28
2    2012-03-28
dtype: object

In [56]:    
df['I_DATE'].dt.time

Out[56]:
0    14:15:00
1    14:17:28
2    14:50:50
dtype: object

例如,可以使用字符串进行筛选:

In [59]:
df = pd.DataFrame({'date':pd.date_range(start = dt.datetime(2015,1,1), end = dt.datetime.now())})
df[(df['date'] > '2015-02-04') & (df['date'] < '2015-02-10')]

Out[59]:
         date
35 2015-02-05
36 2015-02-06
37 2015-02-07
38 2015-02-08
39 2015-02-09
 类似资料:
  • 问题内容: 例如字符串: 我将把它们推回到数据库中正确的日期时间字段中,因此我需要将它们魔术化为实际的日期时间对象。 这是通过Django的ORM进行的,因此我无法使用SQL进行插入时的转换。 问题答案: 是将字符串解析为日期时间的主要例程。它可以处理各种格式,格式由你为其指定的格式字符串确定: 生成的对象是时区未使用的。 链接: 适用于strptime:Python 2和Python 3的 Py

  • 问题内容: 将日期转换为JSON时,javascript会以以下格式保存日期: 但是,我不确定如何将其放入python datetime对象。我已经尝试过这些: 我相信javascript会将字符串保存为官方ISO格式,因此似乎应该有一种方法可以让python 读取它? 问题答案: 请尝试以下格式: 例如: 该的日期只是手段,它应该被解释为UTC时间,所以忽略它不会造成任何信息丢失。您可以在这里找

  • 问题内容: 我正在尝试将字符串“ 20091229050936”转换为“ 2009年12月29日(UTC)05:09” 给 显然,我犯了一个错误:时间是错误的,它是日期时间对象!它有一个日期 和 一个时间部分! 给 我如何将字符串转换为格式化的日期字符串? 问题答案: 返回一个; 接受作为可选参数: 给

  • 我的日期列值是字符串格式,显示的值像“44370.4087037037”、“44370.4087384259”。而我希望它们是MM/DD/YYYY HH: MM格式。我必须在Oracle中输入它到数据库中。我的查询是- 我应该如何转换它?我试图\u DATE,convert,cast-不起作用-出现错误-[错误]执行(5:23):ORA-00907:缺少右括号

  • 我有一个pandas数据框,其中一列包含如下字符串 我想把它转换成以下格式。 我试着用熊猫。到_datetime(df['date time']),但我得到了错误未知字符串值。我还尝试将字符串拆分为两列,只转换日期部分,但遇到了类似的错误

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