我看了这个问题的答案:当 YYYYMMDD 和 HH 位于不同的列中时,在 Python 中使用 pandas 解析日期 https://stackoverflow.com/questions/11615504/parse-dates-when-yyyymmdd-and-hh-are-in-separate-columns-using-pandas-in-python,但它似乎对我不起作用,这让我觉得我做了一些微妙的错误。
我有 .csv 文件中的数据,我正在尝试使用 pandas read_csv 函数读取这些数据。日期和时间位于两个单独的列中,但我想将它们合并到一列“Datetime”中,其中包含日期时间对象。 csv 看起来像这样:
Note about the data
blank line
Site Id,Date,Time,WTEQ.I-1...
2069, 2008-01-19, 06:00, -99.9...
2069, 2008-01-19, 07:00, -99.9...
...
我正在尝试使用这行代码来阅读它:
read_csv("2069_ALL_YEAR=2008.csv", skiprows=2, parse_dates={"Datetime" : [1,2]}, date_parser=True, na_values=["-99.9"])
但是,当我将其写回 csv 时,它看起来完全相同(除了 -99.9s 更改为 NA,就像我使用 na_values 参数指定的那样)。日期和时间位于两个单独的列中。据我了解,这应该创建一个名为 Datetime 的新列,该列由第 1 列和第 2 列组成,并使用 date_parser 进行解析。我还尝试使用 parse_dates={"Datetime" : ["Date","Time"]}、parse_dates=[[1,2]] 和 parse_dates=[["Date", "Time"]]。我还尝试过使用 date_parser=parse,其中 parse 定义为:
parse = lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')
这些都没有产生丝毫差异,这让我怀疑存在一些更深层次的问题。对它可能是什么有任何见解吗?