我有一些列表要转换为 2D numpy 数组。
list1 = [ 2, 7 , 8 , 5]
list2 = [18 ,29, 44,33]
list3 = [2.3, 4.6, 8.9, 7.7]
Run Code Online (Sandbox Code Playgroud)
我想要的 numpy 数组是:
[[ 2. 18. 2.3]
[ 7. 29. 4.6]
[ 8. 44. 8.9]
[ 5. 33. 7.7]]
Run Code Online (Sandbox Code Playgroud)
我可以通过将列表中的单个项目直接输入到 numpy 数组表达式中来获得np.array(([2,18,2.3], [7,29, 4.6], [8,44,8.9], [5,33,7.7]), dtype=float)。
但我希望能够将列表转换为所需的 numpy 数组。
一种方法是创建numpy数组,然后使用转置函数将其转换为所需的输出:
import numpy as np
list1 = [ 2, 7 , 8 , 5]
list2 = [18 ,29, 44,33]
list3 = [2.3, 4.6, 8.9, 7.7]
arr = np.array([list1, list2, list3])
arr = arr.T
print(arr)
Run Code Online (Sandbox Code Playgroud)
输出
[[ 2. 18. 2.3]
[ 7. 29. 4.6]
[ 8. 44. 8.9]
[ 5. 33. 7.7]]
Run Code Online (Sandbox Code Playgroud)
你可以np.transpose直接使用:
np.transpose([list1, list2, list3])
Run Code Online (Sandbox Code Playgroud)
这会将列表的列表转换为 numpy 数组,然后将其转置(将行更改为列,将列更改为行):
array([[ 2. , 18. , 2.3],
[ 7. , 29. , 4.6],
[ 8. , 44. , 8.9],
[ 5. , 33. , 7.7]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4942 次 |
| 最近记录: |