gpt4 book ai didi

python - 在 Python 中使用 pandas 解析 YYYYMMDD 和 HH 位于不同列中的日期

转载 作者:IT老高 更新时间:2023-10-28 22:21:32 26 4
gpt4 key购买 nike

我有一个关于 csv 文件和解析日期时间的简单问题。

我有一个如下所示的 csv 文件:

YYYYMMDD, HH,    X
20110101, 1, 10
20110101, 2, 20
20110101, 3, 30

我想使用 pandas (read_csv) 读取它,并将它放在由日期时间索引的数据框中。到目前为止,我已尝试实现以下内容:

import pandas as pnd
pnd.read_csv("..\\file.csv", parse_dates = True, index_col = [0,1])

我得到的结果是:

                         X
YYYYMMDD HH
2011-01-01 2012-07-01 10
2012-07-02 20
2012-07-03 30

正如您在将 HH 转换为不同日期时看到的 parse_dates。

是否有一种简单有效的方法可以将“YYYYMMDD”列与“HH”列正确组合以获得这样的结果? :

                      X
Datetime
2011-01-01 01:00:00 10
2011-01-01 02:00:00 20
2011-01-01 03:00:00 30

提前感谢您的帮助。

最佳答案

如果您将列表传递给 index_col,则表示您希望从列表中的列中创建层次索引。

此外,parse_dates 关键字可以设置为 True 或 list/dict。如果为 True,则尝试将单个列解析为日期,否则将列组合以解析单个日期列。

总之,你想做的是:

from datetime import datetime
import pandas as pd
parse = lambda x: datetime.strptime(x, '%Y%m%d %H')
pd.read_csv("..\\file.csv", parse_dates = [['YYYYMMDD', 'HH']],
index_col = 0,
date_parser=parse)

关于python - 在 Python 中使用 pandas 解析 YYYYMMDD 和 HH 位于不同列中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11615504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com