我使用pandas read_csv读取了两个大文件列(1000万行)(第一行是标题),现在我想将数据帧转换为第一列是键的字典,第二列是价值。
col_name = ['A', 'B'];
df = pd.read_csv(f_loc, usecols = col_name, sep = "\s+", dtype={'B':np.float16});
答案 0 :(得分:0)
在set_index
之前使用index
创建column
并按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}