gpt4 book ai didi

python - Python pandas 读取文件时出现日期解析错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:45:54 25 4
gpt4 key购买 nike

按照问题发送至:Python pandas for reading in file with date

我无法解析下面数据帧上的日期。代码如下:

df = pandas.read_csv(file_name, skiprows = 2, index_col='datetime', 
parse_dates={'datetime': [0,1,2]}, delim_whitespace=True,
date_parser=lambda x: pandas.datetime.strptime(x, '%Y %m %d'))
<小时/>
         OTH-000.opc
XKN1= 0.500000E-01
Y M D PRCP VWC1
2006 1 1 0.0 0.17608E+00
2006 1 2 6.0 0.21377E+00
2006 1 3 0.1 0.22291E+00
2006 1 4 3.0 0.23460E+00
2006 1 5 6.7 0.26076E+00

我收到一条错误消息:lambda () 仅需要 1 个参数(给定 3 个参数)

根据下面@EdChum的评论,如果我使用此代码:

df = pandas.read_csv(file_name, skiprows = 2, index_col='datetime', parse_dates={'datetime': [0,1,2]}, delim_whitespace=True))

df.index 结果是一个对象,而不是日期时间序列

df.index
Index([u'2006 1 1',u'2006 1 2'....,u'nan nan nan'],dtype='object')

最后,该文件可以在这里找到:

https://www.dropbox.com/s/0xgk2w4ed9mi4lx/test.txt?dl=0

最佳答案

好的,我看到了问题,您的文件末尾有无关的空行,不幸的是,这会扰乱解析器,因为它正在寻找空格,这导致 df 看起来如下:

Out[25]:
PRCP VWC1
datetime
2006 1 1 0.0 0.17608
2006 1 2 6.0 0.21377
2006 1 3 0.1 0.22291
2006 1 4 3.0 0.23460
2006 1 5 6.7 0.26076
nan nan nan NaN NaN

当我删除空白行时,它会导入并解析日期:

Out[26]:
PRCP VWC1
datetime
2006-01-01 0.0 0.17608
2006-01-02 6.0 0.21377
2006-01-03 0.1 0.22291
2006-01-04 3.0 0.23460
2006-01-05 6.7 0.26076

索引现在是所需的日期时间索引:

In [27]:

df.index
Out[27]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2006-01-01, ..., 2006-01-05]
Length: 5, Freq: None, Timezone: None

关于python - Python pandas 读取文件时出现日期解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29805372/

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