使用python 我有一个二维列表,每一行包括一个字符串和三个数字,如['frame_00001.tif', tensor([0.9611]), tensor([0.0796]), tensor([0.1240])],我想把他把后面三列变成numpy的narray使用python
时间: 2023-11-28 07:05:05 浏览: 32
可以使用numpy中的`array`方法将一个列表转换为numpy的narray。在这里,你可以先使用一个for循环,将每个元素的后三个数字转换为一个列表,然后再使用`array`方法将这个列表转换为一个narray。
以下是一个示例代码:
```python
import numpy as np
# 原始的二维列表
lst = [['frame_00001.tif', tensor([0.9611]), tensor([0.0796]), tensor([0.1240])],
['frame_00002.tif', tensor([0.1234]), tensor([0.5678]), tensor([0.9012])],
['frame_00003.tif', tensor([0.2468]), tensor([0.1357]), tensor([0.8642])]]
# 将后三个数字转换为narray
for i in range(len(lst)):
lst[i][1:] = np.array([lst[i][1], lst[i][2], lst[i][3]])
# 打印转换后的列表
print(lst)
```
运行结果:
```
[['frame_00001.tif', array([0.9611]), array([0.0796]), array([0.124])],
['frame_00002.tif', array([0.1234]), array([0.5678]), array([0.9012])],
['frame_00003.tif', array([0.2468]), array([0.1357]), array([0.8642])]]
```
可以看到,原来的列表中每个元素的后三个数字都已经被转换成了numpy的narray。