我有一些记录,其中字段(称为INDATUMA
和UTDATUMA
)应该包含20010101和20141231之间的数字(原因很明显)。为了允许丢失值,但保留精确到最近的日期,我将它们存储为浮动(第64页). 我希望这会迫使偶尔出现格式错误的字段(想想2oo41oo9)变成NA
,但是却破坏了pandas0.18.0或iopro1.7.2中的导入。你知道吗
有没有一个没有文件的选项可以使用什么?不然呢?你知道吗
熊猫尝试的关键是
import numpy as np
import pandas as pd
treatments = pd.read_table(filename,usecols=[0,3,4,6], engine='c', dtype={'LopNr':np.uint32,'INDATUMA':np.float64,'UTDATUMA':np.float64,'DIAGNOS':object})
用erorValueError: invalid literal for float(): 2003o730
。你知道吗
为了以防万一,我在IOPro中尝试了以下方法:
import iopro
adapter = iopro.text_adapter(filename, parser='csv',delimiter='\t',output='dataframe',infer_types=False)
adapter.set_field_types({0: 'u4',3:'f8', 4:'f8',6:'object'})
all_treatments.append(adapter[[0,3,4,6]][:])
但这也与iopro.lib.errors.DataTypeError: Could not convert token "2003o730" at record 1 field 3 to float64.Reason: unknown
有关
数据文件以
LopNr SJUKHUS MVO INDATUMA UTDATUMA HDIA DIAGNOS OP PVARD EKOD1 EKOD2 EKOD3 EKOD4 EKOD5 ICD
1562 21001 046 20030707 20030711 I489A I489A I509 2 10
1562 21001 046 2003o730 20030801 I501 I501 I489A DG001 2 10
可以在^{} 中使用参数
converters
:或使用^{} 的参数
errors='coerce'
进行后处理:相关问题 更多 >
编程相关推荐