Python-将数据框转换为键为(行索引,列名)的字典

时间:2018-08-01 18:25:27

标签: python pandas dictionary

我想将数据帧转换为字典,其中键是数据帧的行索引和列名,每个键的值是每个行索引和列名的位置。

假设这是我的数据框。

  1 2 3 
0 1 2 3
1 4 5 6
2 7 8 9

我希望我的字典看起来像这样:

((0, 1), 1)
((0, 2), 2)
((0, 3), 3)
((1, 1), 4)

我该如何实现?

1 个答案:

答案 0 :(得分:2)

MultiIndex Seriesstack一起使用to_dict

d = df.stack().to_dict()
print (d)
{(0, 1): 1, (0, 2): 2, (0, 3): 3, 
 (1, 1): 4, (1, 2): 5, (1, 3): 6, 
 (2, 1): 7, (2, 2): 8, (2, 3): 9}

但是如果要tuple

s = df.stack()
L = list(zip(s.index.tolist(), s))
print (L)
[((0, 1), 1), ((0, 2), 2), ((0, 3), 3), 
 ((1, 1), 4), ((1, 2), 5), ((1, 3), 6),
 ((2, 1), 7), ((2, 2), 8), ((2, 3), 9)]