2017-10-07 1 views
1

Ich frage mich, ob es eine Möglichkeit gab, kategorische Werte während des Prozesses zu lesen.read_csv lesen kategoriale Werte?

Normalerweise können Sie einen Konvertiten nach der Tat mit etwas zu tun:

df.zone = df.zone.astype('category') 

An diesem Punkt die df nimmt mehr Speicher und ich bin auf der Suche nach einer Möglichkeit, dass zu reduzieren.

Ich habe versucht, Dinge wie:

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() 

jedoch kategorisch Daten benötigen eine Initialisierung Argument der tatsächlichen Daten, die in CSV-Datei.

Antwort

3

Lassen Sie uns versuchen, mit dtype:

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