1

如何转换dictionary为下面的“所需输出”?

我有dictionary一个嵌套列表作为值:

dictionary = {'Person1': ['a', 1, 'b', 2], 'Person2': ['c', 3, 'd', 4]}   #(the dict is longer than this, this is just an example)

期望的输出:

姓名 价值
'人 1' '一个' 1
'人 1' 'b' 2
'人2' 'C' 3
'人2' 'd' 4

当前代码:

import pandas as pd

df = pd.DataFrame.from_dict(dictionary)
4

1 回答 1

1

通过压缩列表理解中列表的对和解对值并将字典更改为元组列表并传递给DataFrame构造函数:

L = [(k, *x) for k, v in dictionary.items() for x in zip(v[::2], v[1::2])]
df = pd.DataFrame(L, columns=['name','letter','value'])
print (df)
      name letter  value
0  Person1      a      1
1  Person1      b      2
2  Person2      c      3
3  Person2      d      4    
于 2021-02-03T09:24:21.807 回答