【发布时间】:2021-06-30 15:09:42
【问题描述】:
问题描述:
我正在尝试将 CSV 格式的历史股票价格读入 pandas Dataframe,但到目前为止我注意到一件有趣的事情 - 在读取某些行号时,日期列类型从 pandas.Timestamp 更改为 datetime -这是如何运作的?那我怎么看pandas.Timestamp呢?
最小复制示例:
我已经检查了我的 CSV 文件,这里是一个所需的最少数据示例。
import pandas as pd
file = open('temp.csv', 'w')
file.write(
"""Local time,Open,High,Low,Close,Volume
28.02.2014 02:00:00.000 GMT+0200,1.37067,1.38250,1.36943,1.38042,176839.0313
01.04.2014 03:00:00.000 GMT+0300,1.37742,1.38156,1.37694,1.37937,95386.0703""")
file.close()
data = pd.read_csv('temp.csv', parse_dates = ["Local time"])
print(type(data['Local time'][0]))
结果:<class 'datetime.datetime'>
对比
import pandas as pd
file = open('temp.csv', 'w')
file.write(
"""Local time,Open,High,Low,Close,Volume
28.02.2014 02:00:00.000 GMT+0200,1.37067,1.38250,1.36943,1.38042,176839.0313""")
file.close()
data = pd.read_csv('temp.csv', parse_dates = ["Local time"])
print(type(data['Local time'][0]))
file = open('temp.csv', 'w')
file.write(
"""Local time,Open,High,Low,Close,Volume
01.04.2014 03:00:00.000 GMT+0300,1.37742,1.38156,1.37694,1.37937,95386.0703""")
file.close()
data = pd.read_csv('temp.csv', parse_dates = ["Local time"])
print(type(data['Local time'][0]))
file = open('temp.csv', 'w')
file.write(
"""Local time,Open,High,Low,Close,Volume
02.03.2014 02:00:00.000 GMT+0200,1.37620,1.37882,1.37586,1.37745,5616.04
03.03.2014 02:00:00.000 GMT+0200,1.37745,1.37928,1.37264,1.37357,136554.6563
04.03.2014 02:00:00.000 GMT+0200,1.37356,1.37820,1.37211,1.37421,124863.8203""")
file.close()
data = pd.read_csv('temp.csv', parse_dates = ["Local time"])
print(type(data['Local time'][0]))
结果:<class 'pandas._libs.tslibs.timestamps.Timestamp'>
结果:<class 'pandas._libs.tslibs.timestamps.Timestamp'>
结果:<class 'pandas._libs.tslibs.timestamps.Timestamp'>
版本:
pandas==1.2.3
pandas-datareader==0.9.0
总结:
我需要阅读 pandas.Timestamp 因为后面的一些数据操作,而不是 datetime,并且不知道这里出了什么问题 - 希望你们,伙计们,可以提供帮助...
我也创建了一个 GitHub issue,但它还没有被分类。
【问题讨论】:
标签: python pandas csv date timestamp