簡體   English   中英

Pandas:將字典轉換為 dataframe,其中鍵和值是列

[英]Pandas: Convert dictionary to dataframe where keys and values are the columns

我有一本像這樣的字典:

d = {'3a0fe308-b78d-4080-a68b-84fdcbf5411e': 'SUCCEEDED-HALL-IC_GBI', '7c975c26-f9fc-4579-822d-a1042b82cb17': 'SUCCEEDED-AEN-IC_GBI', '9ff20206-a841-4dbf-a736-a35fcec604f3': 'SUCCEEDED-ESP2-IC_GBI'}

我想把我的字典轉換成這樣的東西來制作一個 dataframe 我把所有的鍵和值放在一個單獨的列表中。

d = {'key': ['3a0fe308-b78d-4080-a68b-84fdcbf5411e', '7c975c26-f9fc-4579-822d-a1042b82cb17', '9ff20206-a841-4dbf-a736-a35fcec604f3'],
     'value': ['SUCCEEDED-HALL-IC_GBI', 'SUCCEEDED-AEN-IC_GBI', 'SUCCEEDED-ESP2-IC_GBI']

go 關於這個問題的最佳方法是什么?

由於您標記pandas ,請嘗試:

pd.Series(d).reset_index(name='value').to_dict('list')

Output:

{'index': ['3a0fe308-b78d-4080-a68b-84fdcbf5411e',
  '7c975c26-f9fc-4579-822d-a1042b82cb17',
  '9ff20206-a841-4dbf-a736-a35fcec604f3'],
 'value': ['SUCCEEDED-HALL-IC_GBI',
  'SUCCEEDED-AEN-IC_GBI',
  'SUCCEEDED-ESP2-IC_GBI']}

純 python:

{'key':list(d.keys()), 'value': list(d.values())}

output:

{'key': ['3a0fe308-b78d-4080-a68b-84fdcbf5411e',
  '7c975c26-f9fc-4579-822d-a1042b82cb17',
  '9ff20206-a841-4dbf-a736-a35fcec604f3'],
 'value': ['SUCCEEDED-HALL-IC_GBI',
  'SUCCEEDED-AEN-IC_GBI',
  'SUCCEEDED-ESP2-IC_GBI']}

您可以像這樣輕松創建 DataFrame:

import pandas as pd

d = {'3a0fe308-b78d-4080-a68b-84fdcbf5411e': 'SUCCEEDED-HALL-IC_GBI',
     '7c975c26-f9fc-4579-822d-a1042b82cb17': 'SUCCEEDED-AEN-IC_GBI',
     '9ff20206-a841-4dbf-a736-a35fcec604f3': 'SUCCEEDED-ESP2-IC_GBI'}
table = pd.DataFrame(d.items(), columns=['key', 'value'])

如果您只想重新排列您的字典,您可以這樣做:

d2 = {'key': list(d.keys()), 'value': list(d.values())}

您可以使用zip function 創建 dataframe 壓縮鍵/值列表:

import pandas as pd

df = pd.DataFrame(list(zip(d.keys(),d.values())), columns=['key','value'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM