gpt4 book ai didi

python - 使用 pandas read_csv 将列转换为正确的时间戳

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:06 24 4
gpt4 key购买 nike

我有一个包含时间戳和财务数据的时间序列 csv 文件,如下所示:

20140804:10:00:13.281486,782.83,443355
20140804:10:00:13.400113,955.71,348603

现在,我想将其放入 pandas.DataFrame,并在读取 csv 时将日期解析为 yyyymmddhhmmss .我搜索了线程,看到有人使用 datetime 模块,但我对 Python 很陌生,所以我不确定如何使用该模块来解析上述数据,以及如何做这一切都是我在 csv 中读取的。

如何最好地解决这个问题?

最佳答案

你需要:

没有 csv 标题:

import pandas as pd
from pandas.compat import StringIO

temp=u"""
20140804:10:00:13.281486,782.83,443355
20140804:10:00:13.400113,955.71,348603"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp),
#parse first columns
parse_dates=[0],
#custom parse function
date_parser = lambda x: pd.datetime.strptime(x, '%Y%m%d:%H:%M:%S.%f'),
#no header of csv
header=None)

print (df)
0 1 2
0 2014-08-04 10:00:13.281486 782.83 443355
1 2014-08-04 10:00:13.400113 955.71 348603

print (df.dtypes)
0 datetime64[ns]
1 float64
2 int64
dtype: object

csv 文件头

import pandas as pd
from pandas.compat import StringIO

temp=u"""dates,a,b
20140804:10:00:13.281486,782.83,443355
20140804:10:00:13.400113,955.71,348603"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp),
parse_dates=[0],
date_parser = lambda x: pd.datetime.strptime(x, '%Y%m%d:%H:%M:%S.%f'))

print (df)
dates a b
0 2014-08-04 10:00:13.281486 782.83 443355
1 2014-08-04 10:00:13.400113 955.71 348603

print (df.dtypes)
dates datetime64[ns]
a float64
b int64
dtype: object

关于python - 使用 pandas read_csv 将列转换为正确的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42324119/

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