带有date_parser的问题:TypeError:parse()接受1个位置参数,但给出了2个位置参数

问题描述 投票:0回答:1

我遇到以下错误:

TypeError: parse() takes 1 positional argument but 2 were given

我试图做一个基本的数据准备,我想将日期时间信息解析为Panda DataFrame索引。这是代码段:

from pandas import read_csv
from datetime import datetime
def parse(x):
    return datetime.strptime(x,'%d-%b-%y %H:%M:%S' )

dataset = read_csv("dataset.csv", header=0, parse_dates = [['date', 'time']],
                   index_col=0, date_parser= parse)

这是原始日期和时间的样子:

date          time
25-Apr-17   19:19:40
25-Apr-17   19:19:40
25-Apr-17   19:19:45
25-Apr-17   19:19:45

我遇到了另一种使用方式:

dataset = read_csv("dataset.csv", header=0, parse_dates = {'datetime':[1,2]},
                   index_col=0, date_parser=lambda x: datetime.strptime(x,'%d-%b-%y %H:%M:%S' )

但仍然是同一问题。 TypeError: <lambda>() takes 1 positional argument but 2 were given

我想知道你们是否可以帮助我解决这个问题?

python-3.x datetime strptime dateparser
1个回答
0
投票

由于选择了两列,并且日期解析器正在等待一个值,所以出现此错误。

© www.soinside.com 2019 - 2024. All rights reserved.