我有一个如下所示的数据框:
In [32]: df
Out[32]:
200003 200003.1
0 123 456
我想像这样改造它:
200003
0 123
1 456
实现这一目标的最简单方法是什么?
修改
df.stack()
返回
0 200003 123
200003.1 456
dtype: int64
我的目标是使用df.to_dict('records')
将df转换为适合机器学习的格式,如[{'200003': '123'}, {'200003': '456'}]
答案 0 :(得分:1)
我认为您正在寻找DataFrame.stack()
。
回答你的编辑:
stacked = df.stack()
stacked.index = [df.columns[0]] * stacked.shape[0]
然后:
out = [ {j[0]:j[1]} for j in list(zip(stacked.index, stacked.values)) ]
为您提供您要查找的词典列表。