繁体   English   中英

pandas - 从字典列表创建数据框时,如何将行添加为列?

[英]pandas - How can I add row's as a column when creating a dataframe from a list of dicts?

我有一个按特定顺序排列的字典列表,我可以将它们转换为数据帧,但我想将 rowId 作为标识符。

这是我的代码以及我卡住的地方:

priceHistory
[{'Apple': 1.27, 'Oranges': 2.92, 'Pears': 2.05},
 {'Apple': 1.12, 'Oranges': 3.33, 'Pears': 1.72},
 {'Apple': 1.22, 'Oranges': 4.52, 'Pears': 2.31},
 {'Apple': 1.37, 'Oranges': 5.93, 'Pears': 2.81},
 {'Apple': 1.5, 'Oranges': 5.77, 'Pears': 3.66},
 {'Apple': 1.59, 'Oranges': 5.24, 'Pears': 3.35},
 {'Apple': 1.29, 'Oranges': 4.97, 'Pears': 4.02},
 {'Apple': 1.53, 'Oranges': 6.03, 'Pears': 5.22},
 {'Apple': 1.86, 'Oranges': 8.4, 'Pears': 7.04},
 {'Apple': 1.61, 'Oranges': 10.33, 'Pears': 5.98}]
priceHistorydf = pd.DataFrame(priceHistory)
priceHistorydf
Apple   Pears   Oranges
0   1.27    2.05    2.92
1   1.12    1.72    3.33
2   1.22    2.31    4.52
3   1.37    2.81    5.93
4   1.50    3.66    5.77
5   1.59    3.35    5.24
6   1.29    4.02    4.97
7   1.53    5.22    6.03
8   1.86    7.04    8.40
9   1.61    5.98    10.33

如您所见,订单是正确的,并且有行号。 但我需要在单独的列中使用这些标识符。 我怎样才能做到这一点?

检查reset_index ,然后索引成为一列,可以视为 id

priceHistorydf = priceHistorydf.reset_index()

或者

priceHistorydf ['ID'] = np.arange(len(priceHistorydf ))
priceHistorydf 
Out[13]: 
   Apple  Pears  Oranges  ID
0   1.27   2.05     2.92   0
1   1.12   1.72     3.33   1
2   1.22   2.31     4.52   2
3   1.37   2.81     5.93   3
4   1.50   3.66     5.77   4
5   1.59   3.35     5.24   5
6   1.29   4.02     4.97   6
7   1.53   5.22     6.03   7
8   1.86   7.04     8.40   8
9   1.61   5.98    10.33   9

只需将索引分配给新列。

priceHistorydf['ID'] = priceHistorydf.index

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM