gpt4 book ai didi

python - 从 yyyyMMdd int 列表中最有效地构建 pandas.DateTimeIndex

转载 作者:行者123 更新时间:2023-12-01 01:57:34 24 4
gpt4 key购买 nike

pandas.DateTimeIndex 支持多种输入格式;然而,大多数都严重依赖于解析包含日期/日期时间信息的字符串,这对于大型数据集可能效率低下。如果构建 DateTimeIndex 的起点是格式为 yyyyMMdd 的 int 列表,那么构建 DateTimeIndex 最有效的方法是什么?以下转换有效;然而,它的效率很低,因为它依赖于字符串的日期解析。

import pandas
dates = [20180401, 20180402, 20180403]
dti = pandas.DatetimeIndex(map(str, dates)

最佳答案

使用to_datetime带参数格式:

dti = pd.to_datetime(dates, format='%Y%m%d')
print (dti)

DatetimeIndex(['2018-04-01', '2018-04-02', '2018-04-03'], dtype='datetime64[ns]', freq=None)

如果输入数据是csv,请使用read_csv中的参数parse_dates :

import pandas as pd

temp=u"""Date
20180401
20180402
20180403"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), parse_dates=[0])

print (df)
Date
0 2018-04-01
1 2018-04-02
2 2018-04-03

print (df.dtypes)
Date datetime64[ns]
dtype: object

关于python - 从 yyyyMMdd int 列表中最有效地构建 pandas.DateTimeIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49997133/

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