我想知道是否有办法在 read_csv()
过程中读取分类值。
通常您可以在事后进行转换,例如:
df.zone = df.zone.astype('category')
此时 df 占用了更多内存,我正在寻找一种方法来减少它。
我尝试过以下方法:
parking_meters = pd.read_csv('parking_meter_data.csv',
converters={'zone': pd.Categorical(),
'sub_area': pd.Categorical(),
'area': pd.Categorical(),
'config_name': pd.Categorical(),
'pole' : str(),
'longitude' : np.float(),
'latitude' : np.float()
})
parking_meters.memory_usage(deep=True).sum()
但是,分类数据需要实际数据的初始化参数,该参数位于 CSV 文件中。
最佳答案
让我们尝试一下dtype
:
parking_meters = pd.read_csv('parking_meter_data.csv',
dtype={'zone': 'category',
'sub_area': 'category',
'area': 'category',
'config_name': 'category'
})
关于python - read_csv 读取分类值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46616504/