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' 
             })