numpy是否具有cell2mat功能?这里是链接到matlab。我发现了一个类似的实现,但只有当我们可以均匀分割它时才有效。这里是link。在Python Numpy中的Matlab cell2mat函数?
0
A
回答
2
从某种意义上说,Python的'单元'比MATLAB更长 - list
。一个python列表是一个1d单元格的直接替代品(更确切地说,是一个1维的单元格)。二维单元格可以表示为一个嵌套列表。 numpy
与dtype对象的数组也可以工作。我相信这是scipy.io.loadmat
用于呈现.mat文件中的单元格。
np.array()
将列表或列表等列表转换为ndarray
。有时需要指定dtype的帮助。它还尝试将输入渲染为尽可能高的维数组。
np.array([1,2,3])
np.array(['1',2,'abc'],dtype=object)
np.array([[1,2,3],[1,2],[3]])
np.array([[1,2],[3,4]])
而MATLAB结构映射到Python字典或对象。
http://docs.scipy.org/doc/scipy/reference/generated/scipy.io.loadmat.html
loadmat
也可以代表结构为numpy的结构化(记录)阵列。
有np.concatenate
需要一个数组的列表及其方便的衍生品vstack
, hstack
,dstack
。通常他们调整数组的大小,然后在一个轴上连接。
这里有一个粗略的估计到MATLAB cell2mat例如:
C = {[1], [2 3 4];
[5; 9], [6 7 8; 10 11 12]}
结构ndarrays具有相同的形状
In [61]: c11=np.array([[1]])
In [62]: c12=np.array([[2,3,4]])
In [63]: c21=np.array([[5],[9]])
In [64]: c22=np.array([[6,7,8],[10,11,12]])
与hstack
和vstack
组合加入他们的行列 - 即串连沿匹配轴。
In [65]: A=np.vstack([np.hstack([c11,c12]),np.hstack([c21,c22])])
# or A=np.hstack([np.vstack([c11,c21]),np.vstack([c12,c22])])
生产:
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
或更一般地(和紧凑地)
In [75]: C=[[c11,c12],[c21,c22]]
In [76]: np.vstack([np.hstack(c) for c in C])
1
我通常使用对象数组作为Matlab的单元阵列的替代品。例如:
cell_array = np.array([[np.arange(10)],
[np.arange(30,40)] ],
dtype='object')
是包含长度为10个numpy数组向量的2x1对象数组。我可以通过执行cell2mat
功能:
arr = np.concatenate(cell_array).astype('int')
这将返回一个2×10整数数组。您可以更改.astype('int')
是你需要的任何数据类型,或者你可以从你的cell_array的对象之一抓住它,
arr = np.concatenate(cell_array).astype(cell_array[0].dtype)
祝你好运!
相关问题
- 1. matlab single()函数在numpy中?
- 2. 在Python中使用三个输出的Matlab多值函数/ Numpy
- 3. MATLAB Cell2Mat转换行明智
- 4. python中的matlab ismember函数
- 5. Python vs Matlab函数
- 6. 将matlab转换为python/numpy
- 7. 索引错误 - Python,Numpy,MatLab
- 8. 从Matlab移动到Python numpy
- 9. 在python中调用MATLAB函数
- 10. NumPy的MATLAB的griddata3?
- 11. python numpy等价于bandpower()from MATLAB
- 12. MATLAB在NumPy/Python中的平滑实现(n点移动平均)
- 13. numpy的/ Python的执行与Matlab的
- 14. Matlab:在matlab中的滚动函数
- 15. 在C++中的MATLAB函数
- 16. MATLAB中的interp2函数
- 17. 在python中加速numpy/scipy中的矢量化相关函数?
- 18. python numpy round函数奇怪的错误
- 19. Python语法numpy的随机函数
- 20. Python中的Numpy Meshgrid
- 21. MATLAB式查找()函数在Python
- 22. 在嵌套的numpy数组上应用掩码-numpy -numpy -numpy -python,
- 23. numpy中的Matlab矢量
- 24. 比cell2mat快得多
- 25. Python的等价物的MATLAB psf2otf函数
- 26. 相当于MATLAB的“ismember”函数的Python
- 27. 在Python中的Matlab的datenum(datestring)的等效函数
- 28. MATLAB cell2mat唯一的错误单元阵列
- 29. 在MATLAB中的cell2mat之前用逻辑0替换空单元格
- 30. 在matlab中调用函数
有在numpy的无细胞阵列。预期的输出可能是一个np.array,但是你的输入是什么? – Daniel 2015-03-30 23:51:40
'np.vstack'和'np.hstack'的组合可以连接一个嵌套的兼容数组列表。 – hpaulj 2015-03-31 18:48:05