【发布时间】:2013-01-18 13:59:57
【问题描述】:
我有一个文本数据,例如:16/12/2006;17:24:00;1.000;17.000
第一列是日期,第二列是时间,剩下的只是一些浮点数。现在我正在阅读这样的文件:
np.genfromtxt(path,
dtype=(np.datetime64, np.datetime64, np.float16, np.float16),
delimiter=';',
converters = {0: lambda x: datetime.datetime.strptime(x, "%d/%m/%Y"),
1: lambda x: datetime.datetime.strptime(x, "%H:%M:%S")})
这会导致非常基本的问题,即第二列的默认日期设置为 1900 年 1 月 1 日。有没有办法在读取文件时或读取文件后结合前两列的日期和时间。
【问题讨论】:
-
除非您已经习惯了这种方法,否则我建议您改用
pandas。pd.read_csv("twodate.csv", header=None, sep=";", parse_dates=[[0,1]])Just Works(tm)。 -
@DSM 这让我很好奇 Panda 在 Python 统计计算方面的现状如何。我认为 scipy 和 numpy 应该非常灵活地处理这种情况。
标签: python datetime numpy genfromtxt