【发布时间】:2019-01-03 02:46:30
【问题描述】:
我有一个看起来像这样的数据框 df
1 2 3 4 5
0 1 1 1 0 0
1 1 1 0 0 0
2 1 0 0 1 1
3 1 1 0 1 0
4 0 1 1 0 0
我还有一本看起来像的字典
dict = {(1, 2): 0,
(1, 3): 0,
(1, 4): 0,
(1, 5): 0,
(2, 1): 0,
(2, 3): 0,
(2, 4): 0,
(2, 5): 0,
(3, 1): 0,
(3, 2): 0,
(3, 4): 0,
(3, 5): 0,
(4, 1): 0,
(4, 2): 0,
(4, 3): 0,
(4, 5): 0,
(5, 1): 0,
(5, 2): 0,
(5, 3): 0,
(5, 4): 0}
我想要两件事: 首先如果 key (i,j) = key (j,i) 删除它例如:key (1,2) 和 key (2,1) 我想删除 (2,1) 所以最终的字典将是
dict = {(1, 2): 0,
(1, 3): 0,
(1, 4): 0,
(1, 5): 0,
(2, 3): 0,
(2, 4): 0,
(2, 5): 0,
(3, 4): 0,
(3, 5): 0,
(4, 5): 0}
第二个我想更新关于数据框 df 的值 如果作为 dict 中的键的列具有相同的值,即 1 计数 例如:第 1 列和第 2 列的 key(1,2) 在同一行中有 1 次 3 次,因此 key(1,2) 的值将更新为 3,依此类推.. 所以最终的字典将是
dict = {(1, 2): 3,
(1, 3): 1,
(1, 4): 2,
(1, 5): 1,
(2, 3): 2,
(2, 4): 1,
(2, 5): 0,
(3, 4): 0,
(3, 5): 0,
(4, 5): 1}
非常感谢您的帮助
【问题讨论】:
标签: python pandas dictionary dataframe