【问题标题】:TypeError: parse() takes 1 positional argument but 6 were givenTypeError: parse() 接受 1 个位置参数,但给出了 6 个
【发布时间】:2017-09-15 06:38:43
【问题描述】:

我试图在下面的代码中运行,但每次我都遇到输入错误。

def parse(x):
    return datetime.strptime(x, '%Y %-m %-d %-H:%-M:%-S')

dataset = read_csv('ID1887011.csv', delimiter=",", parse_dates = [['year', 
'month','day','hours','minutes', 'seconds']], 
               index_col=0, date_parser=parse)

【问题讨论】:

  • 查看 pandas 文档“Pandas 将尝试以三种不同的方式调用 date_parser,如果发生异常则前进到下一种方式:1) 传递一个或多个数组(由 parse_dates 定义)作为参数;2 ) 将 parse_dates 定义的列中的字符串值连接(逐行)到单个数组中并传递该数组;以及 3) 使用一个或多个字符串(对应于 parse_dates 定义的列)作为参数为每一行调用一次 date_parser。 " pandas.pydata.org/pandas-docs/stable/generated/…

标签: python pandas datetime strptime


【解决方案1】:

您好,我对代码进行了一些更改,现在它可以工作了。

dataset = pd.read_csv('ID1887011.csv', delimiter=",", index_col='datetime', 
parse_dates = {'datetime': [1,2,3,4,5,6]}, date_parser=lambda x: 
pd.datetime.strptime(x, '%Y %m %d %H %M %S'))

【讨论】:

    【解决方案2】:

    第一张图片是错误代码,第二张是正确代码。您无需更改代码。在您的代码中,我认为您导入日期时间而不是您需要从日期时间导入日期时间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-14
      • 2020-06-13
      • 1970-01-01
      • 2013-09-23
      • 2020-07-14
      • 2017-01-12
      • 2015-07-13
      • 2017-04-22
      相关资源
      最近更新 更多