将字典元组转换为数据框python

时间:2019-04-21 19:22:23

标签: python python-3.x pandas

这是字典的有序元组:

data = ({'a': 1}, {'b': 5}, {'c': 3})

如何纠正这样的代码,该代码使数据框在字典中具有用于键的行,在字典中具有用于列的值,而对于字典之间的值差具有另一列,如下所示:

      key  values  difference
0       a       1           1
1       b       5           4
2       c       3          -2

预先感谢:)

2 个答案:

答案 0 :(得分:1)

IIUC

pd.Series(data).\
    apply(pd.Series).\
       stack().reset_index(level=1).\
          assign(diff=lambda x : x[0].diff().fillna(x[0]))
  level_1    0  diff
0       a  1.0   1.0
1       b  5.0   4.0
2       c  3.0  -2.0

答案 1 :(得分:1)

stack + diff(如果您的所有输入都不包含空值)


u = pd.DataFrame([*data]).melt(var_name='key').dropna()

u.assign(difference=u.value.diff().fillna(u.value)).reset_index(drop=True)

  key  value  difference
0   a    1.0         1.0
1   b    5.0         4.0
2   c    3.0        -2.0