Python 如何从字典中自动提取与键关联的numpy数组表示的值作为单独的数据
我有一个python字典,其中包含保存在每个键的多个numpy数组中的值。我希望以自动方式从每个键中提取值,而不是单独通过每个键来提取值,例如dictname[key1],dictname[key2],等等 我尝试过“for”循环,但那不起作用,作为一个初学者,我不知道哪里出了问题。见下文:Python 如何从字典中自动提取与键关联的numpy数组表示的值作为单独的数据,python,numpy,dictionary,Python,Numpy,Dictionary,我有一个python字典,其中包含保存在每个键的多个numpy数组中的值。我希望以自动方式从每个键中提取值,而不是单独通过每个键来提取值,例如dictname[key1],dictname[key2],等等 我尝试过“for”循环,但那不起作用,作为一个初学者,我不知道哪里出了问题。见下文: type(Win_mapping) = class 'collections.defaultdict' 密钥列表: Win_mapping.keys() Out: dict_keys([(3, 8),
type(Win_mapping) = class 'collections.defaultdict'
密钥列表:
Win_mapping.keys()
Out:
dict_keys([(3, 8), (2, 5), (2, 8), (1, 8), (2, 7), (3, 7), (3, 6), (2, 6), (1, 7), (1, 6), (1, 4), (0, 7), (6, 5), (3, 5), (4, 4), (4, 6)])
第一个键的某些值的示例
Win_mapping[(3, 8)]
Out:
[array([ 0.00000000e+00, 6.33000017e-27, 1.73497305e-03,
-8.36198378e-05, 2.74863690e-01], dtype=float32),
array([ 0.00000000e+00, 6.33999998e-27, 1.19663752e-03,
-2.99715757e-05, 2.62920409e-01], dtype=float32),
array([ 0.00000000e+00, 6.35000018e-27, 6.05389301e-04,
-3.59380065e-05, 2.54130781e-01], dtype=float32),
array([ 0.00000000e+00, 6.36000000e-27, 3.28844151e-04,
-8.31774960e-05, 2.48996541e-01], dtype=float32),
array([ 0.00000000e+00, 6.36999981e-27, 3.52510775e-04,
-1.14181137e-04, 2.47686639e-01], dtype=float32)]
例如:
for key, value in Win_mapping:
node_key = [value]
print(node_key)
[8]
[5]
[8]
[8]
[7]
[7]
[6]
[6]
[7]
[6]
[4]
[7]
[5]
[5]
[4]
[6]
这只是每个键的第二个数字的表示,例如(3,8),(2,5)等
我想要的结果是一个自动的方法来同时提取每个键中的值,我不确定这是否可行,只使用键在列表中的位置而不是键名。这是因为我正在设置代码,希望它能够接收具有不同键名的不同词典。您需要使用
dict.items
来访问键值
Ex:
for key, value in Win_mapping.items():
node_key = [value]
print(node_key)
您需要使用
dict.items
来访问键值
Ex:
for key, value in Win_mapping.items():
node_key = [value]
print(node_key)
谢谢Rakesh,它确实运行了,但在它完成运行之前,我得到了一个错误:超过了IOPub数据速率。笔记本服务器将暂时停止向客户端发送输出,以避免崩溃。要更改此限制,请设置配置变量
--NotebookApp.iopub\u data\u rate\u limit
。当前值:NotebookApp.iopub\u数据\u速率\u限制=1000000.0(字节/秒)NotebookApp.rate\u限制\u窗口=3.0(秒)。显然,我需要考虑如何优化计算占用的内存量。谢谢你,Rakesh,它确实运行了,但在运行结束之前,我遇到了一个错误:超过了IOPub数据速率。笔记本服务器将暂时停止向客户端发送输出,以避免崩溃。要更改此限制,请设置配置变量--NotebookApp.iopub\u data\u rate\u limit
。当前值:NotebookApp.iopub\u数据\u速率\u限制=1000000.0(字节/秒)NotebookApp.rate\u限制\u窗口=3.0(秒)。显然,我需要考虑如何优化计算占用的内存量