维度确定
规则为从前到后,参数由外到内,由行到列
- values.reshape(2,3) 表示二行三列(2,3)
- values.reshape(4,2,3) 表示四个(2,3),四个两行三列
- values.reshape(5,4,2,3) 表示五个(4,2,3)
reshape本质理解
实际上numpy多维数组变化维度时,内存数据没有变化,只是有一个shape参数指明维度即可
- 每次变化维度的过程可以理解为先将维度还原到(参考:维度确定)一维数组,然后再转化成制定的目标维度
- 返回的是新对象,但是新老对象数据共享,只有shape等内部属性不一样,所以reshape操作不浪费内存,也不耗费时间,但是需要注意数据共享可能造成的误操作
- 测试说明: 使用DataFrame.values.reshape()生成的新对象内存数据不共享
特殊参数 “-1
“
用于智能补齐某一维度,只能有一个参数为-1
- 除了
-1
参数外,其余的部分一定要能够被整除 -1
本身占用一个维度- 假设一维数组维度为12
- (-1, 2) <==> (6, 2) <==> (6, -1)
- (-1) <==> (12)