键作为行(Pandas 来自字典的数据框)

Keys as Rows (Pandas Dataframe from dictionary)

我有这本字典:

d = {'a': (1,2,3), 'b': (4,5,6)}

我希望它形成一个数据框,其中键显示为行及其相应的值,如下面的 table:

Keys Values
a 1
a 2
a 3
b 4
b 5

有什么想法吗?

d = {'a': (1,2,3), 'b': (4,5,6)}
df = pd.DataFrame(d).unstack().droplevel(1).reset_index().rename({'index':'Keys', 0:'Values'}, axis=1)

输出:

>>> df
  Keys  Values
0    a       1
1    a       2
2    a       3
3    b       4
4    b       5
5    b       6

这是我的建议。

  1. 使用以下命令创建数据框:

df = pd.DataFrame({'Keys': list(dict.keys()), 'Values': list(dict.values())})

  1. 使用以下命令在 'Values' 列上展开数据框:

df = df.explode(column='Values').reset_index(drop=True

输出结果是这样的:

       Keys   Values
  0    a      1
  1    a      2
  2    a      3
  3    b      4
  4    b      5
  5    b      6