2017-11-21 5 views
1

Ich lese zwei Spalten einer großen Datei (10 Millionen Zeilen) mit Pandas read_csv (erste Zeile ist die Überschrift), und jetzt möchte ich den Dataframe in ein Wörterbuch konvertieren, wo die 1. Spalte der Schlüssel ist und Die zweite Spalte ist der Wert.Wörterbuch von Pandas Dataframe

col_name = ['A', 'B']; 
df = pd.read_csv(f_loc, usecols = col_name, sep = "\s+", dtype={'B':np.float16}); 

Antwort

0

erstellen index mit ersten column von set_index und konvertieren von Series.to_dict:

df = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B']) 
print (df) 
    a b 
0 1 2 
1 3 4 

df = df.set_index('A')['B'].to_dict() 
print (df) 
{1: 2, 3: 4} 

Eine weitere Idee mit zip:

d = dict(zip(df['A'], df['B'])) 
print (d) 
{1: 2, 3: 4} 

Oder:

d = dict(df.values) 
print (d) 
{1: 2, 3: 4} 
Verwandte Themen