如何使用元组值对字典填充熊猫数据框?

时间:2018-07-05 21:52:35

标签: python pandas numpy

我有一个形式的字典:

dc ={(a,b):0.4, (a,c):0.3, (b,c):0.2}

我想填写以下形式的现有熊猫数据框:

df

     a       b       c
a    0       1       0
b   0.3      1       1
c    1       0       0

收件人:

new_df

     a       b       c
a    0       0.4     0.3
b   0.4      0       0.2
c   0.3      0.2      0

现有单元格中的值并不重要,我需要替换所有这些值(并将不在字典对中的值设置为0)。

我的最终目标是从这些基础上创建网络图。

我该怎么办?

1 个答案:

答案 0 :(得分:3)

使用update

df.update(pd.Series(d).unstack())
df.update(pd.Series(d).unstack().T)
df
Out[71]: 
     a    b    c
a  0.0  0.4  0.3
b  0.4  0.0  0.2
c  0.3  0.2  0.0

更多信息

pd.Series(d).unstack()
Out[66]: 
     b    c
a  0.4  0.3
b  NaN  0.2