簡體   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