2017-10-07 75 views
1

我想知道在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文件。

回答

3

讓我們嘗試用dtype

parking_meters = pd.read_csv('parking_meter_data.csv', 
          dtype={'zone': 'category', 
             'sub_area': 'category', 
             'area': 'category', 
             'config_name': 'category' 
             })