read_csv读取分类值?
问题描述:
我想知道在read_csv()
过程中是否有读取分类值的方法。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'
})