从this SAS file读取到熊猫数据框中时,所有列类型都将转换为 floats (不保留列类型)。
以下是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()
时如何保留列的数据类型?
答案 0 :(得分:0)
如this answer中所述,您必须首先导入以下内容
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
答案 1 :(得分:0)