栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【20211103】【Python/Matlab】Python 中 numpy.reshape() 和 Matlab 中 reshape(mat) 的区别

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【20211103】【Python/Matlab】Python 中 numpy.reshape() 和 Matlab 中 reshape(mat) 的区别

1. Python 中 reshape
numpy.arange(n).reshape(a, b) # 依次生成 n 个自然数,并且以 a 行 b 列的数组形式显示

''' 常见的用法 ''' 
reshape(n, -1)  # 转化成 n 行
reshape(-1, m)  # 转化成 m 列
举个栗子~
import pandas as pd
import numpy as np

a = list(range(1, 11, 1))
b = np.arange(1, 21, 2)
print(a)
print(b)

import pandas as pd
import numpy as np

a = list(range(1, 11, 1))
b = np.arange(1, 21, 2)

a_reshape = np.array(a).reshape(2, -1)  # list 要转成 numpy.array 类型的数据,才能使用 reshape() 方法!
b_reshape = b.reshape(2, -1)
print(a_reshape)
print(b_reshape)

        (参考:numpy中reshape函数的三种常见相关用法) 

 2. Matlab 中的 reshape
a = 1 : 10;
>> a_reshape = reshape(a, 2, [])


 Tips: 1. Python 中的 reshape 方法只能用于 numpy 的数据类型,list 类型的数据不适用。

2.  Python 中的 reshape 优先按照行存新数据,Matlab 中的 reshape 优先按照列存新数据!

        若想在 Python 中也使用类似于 Matlab 中的存数方式,那么可以使用 .T,同时要注意设置的行数和列数要互换。比如:如果要生成 m 行 n 列的新数组,那么可以使用 np.shape(n, m).T!

import pandas as pd
import numpy as np

b = np.arange(1, 21, 2)

b_reshape = b.reshape(2, -1)
b_reshape_new = b.reshape(-1, 2).T

print(b_reshape)
print(b_reshape_new)

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/423792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号