首页 > 解决方案 > 如何从 python 字典中删除相同的列(相同的索引元素)?

问题描述

假设我有这个:

d = {'a': [1, 2, 3, 4], 'b': ['10', '', '30', '40']}

我想要这样:

d = {'a': [1, 3, 4], 'b': ['10', '30', '40']}

如果我在 中看到一个空元素b,我想删除它,d["b"][1]同时d["a"][1]在同一个索引处删除。

编辑:忘了提一下,你不能改变任何元素的顺序。

标签: python

解决方案


这是一个想法。看起来您将字典视为数据框,因为您正在按索引“连接”列表。

那么,为什么不直接使用库并以干净有效的方式进行操作呢?

import pandas as pd
df = pd.DataFrame(d)

产量

   a   b
0  1  10
1  2    
2  3  30
3  4  40

然后

df[~df.eq('').any(1)]

   a   b
0  1  10
2  3  30
3  4  40

毕竟操作,如果你需要你的字典回来:

df.to_dict('list')

{'a': [1, 3, 4], 'b': ['10', '30', '40']}

推荐阅读