2017-11-21 13 views
1

パンダread_csv(最初の行はヘッダ)を使用して大きなファイル(1000万行)を2列読み込み、最初の列がキーである辞書にデータフレームを変換したい2番目の列は値です。パンダのデータフレームからの辞書

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

答えて

0

set_indexすることにより、第1 columnindexを作成し、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} 

zipともう一つのアイデア:

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

または:

d = dict(df.values) 
print (d) 
{1: 2, 3: 4} 
関連する問題