python根据numpy数组创建字典
时间: 2023-11-09 07:05:55 浏览: 185
可以使用 `numpy` 库中的 `ndenumerate()` 函数来遍历 `numpy` 数组并创建字典。
以下是一个示例代码:
```python
import numpy as np
# 创建一个numpy数组
arr = np.array([['a', 'b'], ['c', 'd']])
# 创建一个空字典
dict_arr = {}
# 使用ndenumerate函数遍历numpy数组
for index, value in np.ndenumerate(arr):
dict_arr[index] = value
# 打印字典
print(dict_arr)
```
输出:
```
{(0, 0): 'a', (0, 1): 'b', (1, 0): 'c', (1, 1): 'd'}
```
在上面的代码中,我们首先创建了一个 `numpy` 数组。然后,我们创建了一个空字典 `dict_arr`。接下来,我们使用 `ndenumerate()` 函数遍历 `numpy` 数组,并将索引和对应的值添加到字典中。最后,我们打印出字典。
相关问题
将m*n维的numpy数组转化为字典,其中每一行第一个值为索引,后面为为numpy数组,利用pandas实现
可以使用 pandas 实现该操作,具体代码如下:
```python
import pandas as pd
import numpy as np
# 创建一个 3x4 的numpy数组
arr = np.array([[1,2,3,4], [2,4,6,8], [3,6,9,12]])
# 将数组转化为 DataFrame
df = pd.DataFrame(arr)
# 将第一列设置为索引列
df.set_index(0, inplace=True)
# 将 DataFrame 转化为字典
result_dict = df.apply(lambda x: x.values.tolist(), axis=1).to_dict()
print(result_dict)
```
输出结果为:
```
{1: [2, 3, 4], 2: [4, 6, 8], 3: [6, 9, 12]}
```
其中,字典的 key 对应着第一列的数值,value 为一个列表,对应着该行的后面几列的数值。
怎么向字典中加入numpy数组?
可以使用numpy数组的tolist()方法将其转换为Python列表,然后将列表添加到字典中。例如:
```
import numpy as np
my_dict = {'array': []}
my_array = np.array([1, 2, 3])
my_dict['array'] = my_array.tolist()
print(my_dict)
```
输出:
```
{'array': [1, 2, 3]}
```
在这个示例中,我们首先创建了一个空字典`my_dict`,然后创建一个numpy数组`my_array`。接下来,我们将numpy数组转换为Python列表,并将其添加到`my_dict`字典中的`array`键下。最后,我们打印出整个字典以确认数组已成功添加到字典中。
阅读全文
相关推荐
















