Я читаю в огромном текстовом файле фиксированной ширины в кусках и экспортирую данные как csv. Потому что pandas.read_fwf не позволяет указать типы dtypes, я задаю вопрос, что еще существует, чтобы заставить столбцы быть строками. Причина заключается в том, что pandas отображает некоторые столбцы как float, хотя они не являются и Я не хочу .0
внутри столбца.Pandas read_fwf: указать dtype
Использование data[column] = data[column].astype(str)
не помогает, так как оно не получится избавиться от десятичных знаков. Преобразование столбцов float64 dtype в int не работает либо, так как NA не могут быть преобразованы. Есть идеи?
Вот отрывок из моего кода:
dat = pd.read_fwf(file_to_read,colspecs=cols,header=None,chunksize=100000,names=header)
#First chunk
data.info()
Int64Index: 100000 entries, 0 to 99999
Columns: 562 entries,
dtypes: float64(405), int64(4), object(153)
memory usage: 429.5+ MB
for column in data.columns:
if data[column].dtype == 'float64':
data[column] = data[column].astype(int)
else:
pass
я мог сделать str().replace('.0','')
, но я хочу, чтобы найти более легкий путь, чем итерации через колонку, которая занимает много времени.
Это делает поддержку DTYPE пожалуйста проверьте документацию http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_fwf.html – Abbas