gpt4 book ai didi

python - 通过相同的索引访问字典键和列表元素以循环并分配值

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

我有超过 15 个数据框和一个列表。给定以下示例

unit_list = ['%','umol/l','mmol/l','mmol/l','g/dL','mmol/l','umol/l','','mg/mmol','mg/L','','mg/mmol','g/L'
'g/day','','mg/L','','mg/day','','mmol/l','','cells/uL','','','cells/uL']

#TWO DATAFRAME for sample

dataframesdict[hbA1c] = pd.DataFrame({'person_id':[1,2,3],'Date': ['2009-01-05 00:00:00','2009-01-05 00:00:00','2013-01-31 00:00:00'],'Value': [9.6,9.6,10]})
dataframesdict[Creatinine] = pd.DataFrame({'person_id':[1,2,3],'Date': ['2119-01-05 00:00:00','2129-01-05 00:00:00','2113-01-31 00:00:00'],'Value': [19.6,29.6,210]})

我想做的是在 dataframesdict 下的每个数据框中创建一个名为 unit 的新列,并填充 unit_list 中的值

我已经订购了 unit_list,所以它像 unit_list 中的第 0 个元素应该填写为第 0 个键下的 unit 列的值dataframesdict

中的(第 0 个数据帧)

同样dataframesdict[1]['unit] = unit_list[1]

我尝试了以下方法,但由于使用索引作为键,它不起作用。

for i in range(len(key_list)):
dataFramesDict[i]['unit'] = unit_list[i]

如何利用索引同时访问和赋值?下面的屏幕截图显示了预期的输出。 hba1c是dict中的第一个索引项,所以将unit_list中对应的第一个索引项作为值填充到dataframe的'unit'列中

enter image description here

最佳答案

首先,除非您使用的是 python 3.6=>,dict保证顺序。换句话说,hdA1c 并不总是第一个 key 。

如果要维护顺序,请使用 collections.OrderedDict

至于实际问题,enumerate 可以解决这个问题:

for i, (k, v) in enumerate(dataframesdict.items()):
v['unit'] = unit_list[i]

print(dataframesdict['hbA1c'])

输出:

                  Date  Value  person_id unit
0 2009-01-05 00:00:00 9.6 1 %
1 2009-01-05 00:00:00 9.6 2 %
2 2013-01-31 00:00:00 10.0 3 %

关于python - 通过相同的索引访问字典键和列表元素以循环并分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57283160/

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