gpt4 book ai didi

python - 有条件地将多个项目添加到Python中的字典

转载 作者:太空宇宙 更新时间:2023-11-04 09:09:11 25 4
gpt4 key购买 nike

我正在用 Python 从许多元素中构造一个字典,其中一些是 nan 的,我根本不想将它们添加到字典中(因为那样我将把它插入数据库中,但我不想想要有没有意义的字段)。

目前我正在做这样的事情:

data = pd.read_csv("data.csv")

for i in range(len(data)):
mydict = OrderedDict([("type", "mydata"), ("field2", data.ix[i,2]), ("field5", data.ix[i,5])])

if not math.isnan(data.ix[i,3]):
mydict['field3'] = data.ix[i,3]

if not math.isnan(data.ix[i,4]):
mydict['field4'] = data.ix[i,4]

if not math.isnan(data.ix[i,8]):
mydict['field8'] = data.ix[i,8]

etc....

是否可以在更扁平的结构中完成,即定义一个我想有条件地插入的字段名称和字段编号的数组?

最佳答案

>>> fields = [float('nan'),2,3,float('nan'),5]
>>> {"field%d"%i:v for i,v in enumerate(fields) if not math.isnan(v)}
{'field2': 3, 'field1': 2, 'field4': 5}

或者有序的字典:

>>> OrderedDict(("field%d"%i,v) for i,v in enumerate(fields) if not math.isnan(v))
OrderedDict([('field1', 2), ('field2', 3), ('field4', 5)])

关于python - 有条件地将多个项目添加到Python中的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17203272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com