簡體   English   中英

從字典值中提取數組

[英]Extracting array from dictionary value

我正在使用 Python,試圖從 a.mat 文件中提取距離矩陣。 它以字典“dists”的形式出現,如下所示

print(dists)

在此處輸入圖像描述 1

我想將矩陣作為數組獲取:我嘗試提取值(Python 允許將其轉換為數組)但我不能只取出數組,因為它說它是 0 維的。

arr = np.array(dists[0].values())
print(type(arr))
print(arr)
print(arr[0])

在此處輸入圖像描述 2

看起來數組是 0 維的形式 ([[...]])。 如何提取二維矩陣?

我看了這個,但不知道如何將它應用於我的問題。 我試過arr[()]但它仍然認為arr是字典值而不是數組。

首先,您需要將dict_values()更改為list 我希望這個例子可以幫助你。

import numpy as np
dishes = {'eggs': 2, 'sausage': 1, 'meat': 1, 'spam': np.ones((3,3))}
print(dishes.values())
arr = list(dishes.values())
print(arr)
print(arr[-1])

端子 Output:

dict_values([2, 1, 1, array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])])
[2, 1, 1, array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])]
[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM