Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将元素添加到字典中的嵌套数组,使用嵌套数组将系列转换为可读字典_Python_Arrays_Python 3.x_Pandas_Dictionary - Fatal编程技术网

Python 将元素添加到字典中的嵌套数组,使用嵌套数组将系列转换为可读字典

Python 将元素添加到字典中的嵌套数组,使用嵌套数组将系列转换为可读字典,python,arrays,python-3.x,pandas,dictionary,Python,Arrays,Python 3.x,Pandas,Dictionary,我需要向字典中的数组添加一个元素,这是我的代码: 索引9=[] dataInfected9={} 对于索引,data9.items()中的值: 如果索引[0]不在索引9中: 索引9.append(索引[0]) dataInfected9[索引[1]]。追加(值) 数据如下所示 {Series(32,)} (('NSW', 'hs'), 1539) (('NSW', 'blood'), 70) (('NSW', 'hsid'), 50) .... (('QLD', 'hs'), 186) 应该

我需要向字典中的数组添加一个元素,这是我的代码:

索引9=[]
dataInfected9={}
对于索引,data9.items()中的值:
如果索引[0]不在索引9中:
索引9.append(索引[0])
dataInfected9[索引[1]]。追加(值)
数据如下所示

{Series(32,)}
(('NSW', 'hs'), 1539) (('NSW', 'blood'), 70) (('NSW', 'hsid'), 50) .... (('QLD', 'hs'), 186)
应该是这样的:

dataInfected9 = {
    "hs":[1539, ..., 186],
    "blood":[70, ..., 90],
    ....
    }, 
    
)
indexes=['NSW', ..., 'QLD']

问题是此代码
dataInfected9[index[1]]。append(value)
不起作用,是否给我签名错误:

File ... line 84... 
dataInfected9[index[1]].append(value)
KeyError: 'hs' 

使用
dict.setdefault

Ex:

dataInfected9 = {}
indexes = set()                     #Using set to prevent dups.
for (k, v), n in data9.items():
    indexes.add(k)
    dataInfected9.setdefault(v, []).append(n)

此行
dataInfected9[index[1]].append(value)
不起作用的原因是它试图访问索引(例如'hr'),而它最初没有声明或初始化

解决方案如下,在有问题的行之前添加以下内容:

if index[1] not in dataInfected9:
    dataInfected9[index[1]] = []

谢谢你的解释帮助我理解了另一个答案,你的答案很好,但另一个答案更清楚。如果有帮助的话,那就太好了。继续做好工作