如何将字典的键和值转换为数据框列?

时间:2019-07-09 06:59:36

标签: python python-3.x pandas dictionary jupyter-notebook

我有一个Python字典,无法将字典的键和值转换为数据框列。

import pandas as pd
data={'form-0-publish': ['05/28/2019'], 'form-0-cell': ['81'], 'form-0-cell_name': ['13a'], 'form-0-jam': ['07.00-08.00'], 'form-0-target': ['60'],
      'form-1-publish': ['05/28/2019'], 'form-1-cell': ['81'], 'form-1-cell_name': ['13a'], 'form-1-jam': ['07.00-08.00'], 'form-1-target': ['60'],
      'form-2-publish': ['05/28/2019'], 'form-2-cell': ['81'], 'form-2-cell_name': ['13a'], 'form-2-jam': ['07.00-08.00'], 'form-2-target': ['60'],
      }
df = pd.DataFrame(data.items(), columns=['FormPublish', 'DatePublish', 'FormCell', 'Cell', 'FormCellName', 'FormCellName', 'FormJam', 'Jam', 'FormTarget', 'Target'])
df

预期结果:

> FormPublish      DatePublish FormCell Cell FormCellName FormCellName
> FormJam Jam FormTarget Target 0 form-0-publish ['05/28/2019'] ... 1
> form-0-publish ['05/28/2019'] ... 3 form-0-publish ['05/28/2019'] ...

1 个答案:

答案 0 :(得分:0)

我认为直接没有函数可以执行此类任务,但是我进行了2个self.id.get()循环来获取您的结果:-

for

输出

data={'form-0-publish': ['05/28/2019'], 'form-0-cell': ['81'], 'form-0-cell_name': ['13a'], 'form-0-jam': ['07.00-08.00'], 'form-0-target': ['60'],
  'form-1-publish': ['05/28/2019'], 'form-1-cell': ['81'], 'form-1-cell_name': ['13a'], 'form-1-jam': ['07.00-08.00'], 'form-1-target': ['60'],
  'form-2-publish': ['05/28/2019'], 'form-2-cell': ['81'], 'form-2-cell_name': ['13a'], 'form-2-jam': ['07.00-08.00'], 'form-2-target': ['60'],
  }

my_list = []  #Getting all keys and values in a single list.
for key,value in data.items():
    my_list.append(key)
    my_list.append(*value)

new_list = []
extra_list = []
for index,var in enumerate(my_list):   # Making pairs of 10 elements from my_list.
    if index%10==0:
        new_list.append(extra_list)
        extra_list = [] 
        extra_list.append(var)
    else:      
        extra_list.append(var)
new_list.append(extra_list)
new_list.pop(0)
# Now we will use this new_list in DataFrame

df = pd.DataFrame(new_list, columns=['FormPublish', 'DatePublish', 'FormCell', 'Cell', 'FormCellName', 'FormCellName', 'FormJam', 'Jam', 'FormTarget', 'Target'])
df

我希望它可以对您有所帮助。

相关问题