Как сохранить тип данных столбца при использовании pandas.read_sas ()?

Все типы столбцов преобразуются в поплавки (тип столбца не сохраняется) при чтении из этого файла SAS в кадр данных pandas.

Ниже приведен код Python:

import os
import pandas as pd

data_dir = os.getcwd()
sas_file = os.path.join(data_dir, 'airline.sas7bdat')

iter_sas = pd.read_sas(sas_file, iterator=True, chunksize=1000)

for chunk in iter_sas:
    print(chunk.head())

Вывод следующего:

          YEAR      Y      W       R      L      K
0  1948.000888  1.214  0.243  0.1454  1.415  0.612
1  1949.000888  1.354  0.260  0.2181  1.384  0.559
2  1950.000011  1.569  0.278  0.3157  1.388  0.573
3  1951.000011  1.948  0.297  0.3940  1.550  0.564
4  1952.000000  2.265  0.310  0.3559  1.802  0.574

Как сохранить тип данных столбца при использовании pandas.read_sas()?

python,pandas,csv,

0

Ответов: 2


0

Как уже упоминалось в этом ответе , вы должны сначала импортировать следующие

from sas7bdat import SAS7BDAT

а затем отпустите свой файл как

SAS7BDAT("airline.sas7bdat")

Затем вы можете преобразовать его в фрейм данных.

   YEAR      Y      W       R      L      K
0  1948.0  1.214  0.243  0.1454  1.415  0.612
1  1949.0  1.354  0.260  0.2181  1.384  0.559
2  1950.0  1.569  0.278  0.3157  1.388  0.573
3  1951.0  1.948  0.297  0.3940  1.550  0.564
4  1952.0  2.265  0.310  0.3559  1.802  0.574

0

Похоже, read_sasвсе еще имеет ту же ошибку, что и в другом вопросе. Первая переменная YEARхранится с использованием всего 4 байта и read_sasсоставляет числа для заполнения отсутствующих 4 байтов вместо их заполнения нулевыми байтами.

введите описание изображения здесь

Либо найдите другой пакет, который фактически понимает структуру набора данных SAS или округляет или преобразует значения после их чтения.

питон, панды, CSV,
Похожие вопросы
Яндекс.Метрика