2014-12-11 3 views
0

python 모듈을 사용하려고합니다. 작은 데이터 세트에서 사용할 때 작동합니다. 내가 더 크고 복잡한 데이터 세트로 이동하면 오류가 발생합니다. 아래 예를 포함합니다. 오류가 주어지면 불꽃이 첫 번째 열을 날짜로 바꾸는 데 문제가있는 것으로 보입니다. Blaze가 구문 분석을 시도하지 않도록 특정 열의 dtype을 문자열로 지정하려면 어떻게해야합니까? 감사.Blaze로부터의 버그/오류 Query

In [2]: 
from pandas import * 
from pylab import * 
import pandas as pd 
import pylab as plt 
import numpy as np 
import csv 
import statsmodels.api as sm 
import matplotlib 
%matplotlib inline 
import timeit 
import blaze as bz 
from blaze import * 
bz.__version__ 
Out[2]: 
'0.6.5' 

In [3]: 
t = Table('C:/Users/CRSP 1991 Current.csv') 

In [4]: 
t.columns 
Out[4]: 
[u'PERMNO', 
u'date', 
u'SICCD', 
u'PERMCO', 
u'PRC', 
u'RET', 
u'SHROUT', 
u'vwretd', 
u'ewretd'] 

In [5]: 
t 
C:\Users\Anaconda\lib\site-packages\IPython\core\formatters.py:239: FormatterWarning: Exception in text/html formatter: Unable to parse "12/31/1991" as a date 
    FormatterWarning, 
Out[5]: 
<repr(<blaze.api.table.Table at 0x186bd3c8>) failed: ValueError: Unable to parse "12/31/1991" as a date> 

In [6]: 
t_smaller = t.PERMNO 
t_smaller 
Out[6]: 
PERMNO 
0 10001 
1 10001 
2 10001 
3 10001 
4 10001 
5 10001 
6 10001 
7 10001 
8 10001 
9 10001 
10 10001 

In [7]: 
t_smaller_10001 = t_smaller[t_smaller == 10001] 
t_smaller_10001 

Out[7]: 
<repr(<blaze.expr.table.Column at 0x18819048>) failed: ValueError: Unable to parse "12/31/1991" as a date> 

답변

1

나는 이것이 최신 버전에서 처리된다고 생각합니다. 조건을 통해 블레이즈를 업데이트 해보십시오.

conda install blaze -c blaze 

주요 아나콘다 채널은 비교적 드물게 업데이트됩니다. 화재 채널 (이 부분은 -c blaze입니다)은 매주 업데이트됩니다.

+0

안녕하세요. 최신 버전을 얻는 좋은 방법. 하지만 난 그냥 새로운, 관련된 오류가 발생했습니다. 아무 것도 시도해 보지 않아도 행복하지만 어디서부터 시작해야할지 모르겠습니다. 어쩌면 다른 형식으로 날짜를 다운로드 할 수 있습니까? –

+0

ValueError : 자동 데이터 검색에 실패했습니다. \t {PERMNO :? int64, date :? date, SICCD :? int64, PERMCO :? int64, PRC : float64, RET : float64, SHROUT :? int64, vwretd : float64, ewretd : float64} 그러나 DyND가 다음과 같은 오류를 생성했습니다. \t "12/31/1991"을 날짜로 구문 분석 할 수 없음 typehints = { '열 이름': '유형'}을 사용하여 입력 힌트 제공을 고려하십시오. like typeHints = { 'start-time': 'string'} –

+0

네, DyND (우리가 현재 datetimes를 파싱하는데 사용하는 것)는 "12/31/1991"을 모호한 것으로 본다. (MM/DD/YYYY인지 확실하지 않다. DD/MM/YYYY (이 경우 분명하지만)). 현재 작업은 실제로이 동작을 부작용으로 수정합니다. 며칠 후에 다시 확인하십시오. – MRocklin