【问题标题】:Reading ISO 8601 in CSV using Pandas使用 Pandas 在 CSV 中读取 ISO 8601
【发布时间】:2021-10-31 00:44:51
【问题描述】:

此 CSV 的日期为 ISO 8601 时间。

0   2014-01-01T00:00:00.000     
1   2014-01-01T00:46:43.000 
2   2014-01-01T01:33:26.001

我想选择截至 1 月 2 日的行。我不知道该怎么做。我认为包括

parse_dates=True

允许我像这样直接引用日期/时间值:

sat0 = sat0[sat0['epoch']<2014-01-02T00:00:00.000]

但它不起作用。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: pandas


【解决方案1】:

您可以使用pd.to_datetime() 以适当的格式转换目标日期字符串列。在这种情况下,您可以使用'%Y-%m-%dT%H:%M:%S.%f' 作为日期format

这是您案例中的实现:

import pandas as pd

sat0 = pd.DataFrame({
    'epoch': [
        '2014-01-01T00:00:00.000',
        '2014-01-01T00:46:43.000',
        '2014-03-01T01:33:26.001',
    ]})

date_fmt = '%Y-%m-%dT%H:%M:%S.%f'
sat0['epoch'] = pd.to_datetime(sat0['epoch'], format=date_fmt)

sat0 = sat0[sat0['epoch'] < '2014-01-02T00:00:00.000']

哪些输出

                epoch
0 2014-01-01 00:00:00
1 2014-01-01 00:46:43

【讨论】:

    猜你喜欢
    • 2014-04-16
    • 2021-12-06
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 2015-08-30
    相关资源
    最近更新 更多