numpy.loadtxt,转换器错误 [英] numpy.loadtxt, converters error
本文介绍了numpy.loadtxt,转换器错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试读取CSV的类型文件.并得出日期线. 正如其他人教我的那样,我像这样编写代码,但这是错误的. 我不知道为什么请帮助我.
I am trying to read CSV's type file. And it conclude a dates line. I write the code like this, as others teach me, but it is wrong. I don't know why. please help me.
from matplotlib.dates import strpdate2num
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import os
dates=np.loadtxt('data.csv',delimiter=',',usecols=(1,),
converters={ 1:strpdate2num('%d-%m-%Y')})
以及以下错误信息:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-24-e58dd0485173> in <module>()
1 dates=np.loadtxt('data.csv',delimiter=',',usecols=(1,),
----> 2 converters={ 1:strpdate2num('%d-%m-%Y')})
C:\Anaconda3\lib\site-packages\numpy\lib\npyio.py in loadtxt(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin)
928
929 # Convert each value according to its column and store
--> 930 items = [conv(val) for (conv, val) in zip(converters, vals)]
931 # Then pack it according to the dtype's nesting
932 items = pack_items(items, packing)
C:\Anaconda3\lib\site-packages\numpy\lib\npyio.py in <listcomp>(.0)
928
929 # Convert each value according to its column and store
--> 930 items = [conv(val) for (conv, val) in zip(converters, vals)]
931 # Then pack it according to the dtype's nesting
932 items = pack_items(items, packing)
C:\Anaconda3\lib\site-packages\matplotlib\dates.py in __call__(self, s)
285 return value: a date2num float
286 """
--> 287 return date2num(datetime.datetime(*time.strptime(s, self.fmt)[:6]))
288
289
C:\Anaconda3\lib\_strptime.py in _strptime_time(data_string, format)
557 """Return a time struct based on the input string and the
558 format string."""
--> 559 tt = _strptime(data_string, format)[0]
560 return time.struct_time(tt[:time._STRUCT_TM_ITEMS])
561
C:\Anaconda3\lib\_strptime.py in _strptime(data_string, format)
327 if not isinstance(arg, str):
328 msg = "strptime() argument {} must be str, not {}"
--> 329 raise TypeError(msg.format(index, type(arg)))
330
331 global _TimeRE_cache, _regex_cache
TypeError: strptime() argument 0 must be str, not <class 'bytes'>
推荐答案
尝试一下:
from matplotlib.dates import bytespdate2num
dates=np.loadtxt('data.csv',delimiter=',',usecols=(1,),
converters={ 1:bytespdate2num('%d-%m-%Y')})
这篇关于numpy.loadtxt,转换器错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文