从字典中删除元素,同时保持表格
我有一个包含多个对象的时间间隔的字典,即实际上是一个二维数组,其中x轴的时间和y中的对象。我也有相同的形状字典为恒星通量值与那些时间去,最后我有一个字典包含恒星ID是一个字符串的一维数组。从字典中删除元素,同时保持表格
随着这些是'FLAG
'值的字典,其中如果dic['FLAG'] != 0
则相应的通量和时间值将被丢弃。
使用time_new = (dic['time'][np.where(dic['FLAG'] == 0.)])
似乎要经过2D时间字典,将每个可接受的值附加到下一个末尾,而不是简单地删除那些不适合的值,并在整个2D数组形式中切除。
有没有人有任何建议如何解决这样的问题?非常感谢!
我不确定你的意思,所以我会给你一些可能的答案/提示。
#The dictionary
A = {"a" : 1, "b" : 2}
#N1
A.popitem()
#N2
A.pop("a")
#N3
List = list(A.keys())
A.pop(List[(len(List) - 1)])
我希望你能从中得到一些有用的东西。
的简单的方法:
import copy
A = {'obj1':{'value':1,'time':{'FLAG':0}},
'obj2':{'value':1,'time':{'FLAG':1}},
'obj3':{'value':1,'time':{'FLAG':0}},
}
B = copy.deepcopy(A)
objs = B.keys()
for obj in objs :
if B[obj]['time']['FLAG']==0:
del B[obj]
print B
结果是:
{'obj2': {'value': 1, 'time': {'FLAG': 1}}}
好吧,我看看你在那里做什么,也许我对字典的理解还没有达到标准,但我的时间和标志字典是彼此分开的,但是对于每次记录,对于每个对象,标志值都记录在FLAGS字典中。所以我会查询非零值的标志字典,并从时间字典中删除他们的坐标等价值,如果这是有道理的? – user8188120
@ user8188120是的,你有2字典。你总是可以使用del从字典中删除一些项目。但我认为使用熊猫而不是字典更好。 –
好的,谢谢:)我认为我需要更多地阅读字典,但是我会尝试让我的头脑围绕上面添加的代码 – user8188120
使用一个'np.ma.MaskedArray'然后设置'.mask'属性'DIC [ '标记' ] == 0.' – MSeifert
感谢您的回复!所以类似new_time = np.ma.MaskedArray(time,mask = dic ['FLAG'] == 0.)? – user8188120
是的,至少如果所有后来的操作都支持被蒙版的阵列:) – MSeifert