python shape函数如何使用?

舞夢輝影
发布: 2025-12-01 22:53:31
原创
387人浏览过
shape是NumPy数组的属性,返回表示各维度大小的元组。例如:一维数组shape为(n,),二维为(行,列)。可直接通过arr.shape=(m,n)修改形状(元素总数不变),或用reshape()方法安全重塑。如arr=np.array([1,2,3,4]),则shape为(4,);arr2=np.array([[1,2],[3,4]]),shape为(2,2)。也可用arr.shape[0]获取行数。注意原生列表无此属性,需转为ndarray。Pandas的DataFrame同样支持shape属性,返回(行数,列数)。

python shape函数如何使用?

Python 中并没有一个叫“shape函数”的独立函数,你提到的 shape 实际上是 NumPy 库中数组(ndarray)的一个属性,用于获取数组的维度大小。它在数据处理、机器学习和科学计算中非常常用。

什么是 shape 属性?

shape 是 NumPy 数组的一个属性,返回一个元组,表示数组在每个维度上的长度。比如一维数组的 shape 是 (n,),二维数组是 (行数, 列数),以此类推。

示例:

导入 NumPy 并创建不同维度的数组来查看 shape:

立即学习Python免费学习笔记(深入)”;

Zend Framework 2.4.3 完整版本
Zend Framework 2.4.3 完整版本

Zend框架2是一个开源框架,使用PHP 5.3 +开发web应用程序和服务。Zend框架2使用100%面向对象代码和利用大多数PHP 5.3的新特性,即名称空间、延迟静态绑定,lambda函数和闭包。 Zend框架2的组成结构是独一无二的;每个组件被设计与其他部件数的依赖关系。 ZF2遵循SOLID面向对象的设计原则。 这样的松耦合结构可以让开发人员使用他们想要的任何部件。我们称之为“松耦合”

Zend Framework 2.4.3 完整版本 344
查看详情 Zend Framework 2.4.3 完整版本

import numpy as np

# 一维数组
arr1 = np.array([1, 2, 3, 4])
print(arr1.shape) # 输出: (4,)

# 二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2.shape) # 输出: (2, 3) → 2 行 3 列

# 三维数组
arr3 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(arr3.shape) # 输出: (2, 2, 2)

如何使用 shape 修改数组形状?

虽然 shape 是属性,但也可以用来**修改**数组的形状,前提是元素总数不变。

arr = np.arange(6) # [0, 1, 2, 3, 4, 5]
arr.shape = (2, 3) # 改为 2 行 3 列
print(arr)
# 输出:
# [[0 1 2]
# [3 4 5]]

也可以使用 reshape() 方法更安全地改变形状:

arr_reshaped = arr.reshape(3, 2)

常见用途和注意事项

  • shape 返回的是元组,可以通过索引获取某维度的大小,如 arr.shape[0] 是行数,arr.shape[1] 是列数
  • 如果数组只有一个元素或是一维,注意 shape 的格式,例如 (5,) 表示一维长度为5
  • 在 Pandas 的 DataFrame 中也有 shape 属性,用法类似:df.shape 返回 (行数, 列数)
  • 对 Python 原生列表不能直接使用 shape,必须先转成 NumPy 数组

基本上就这些。只要记住:shape 不是函数,是 NumPy 数组的属性,用来查看或设置数组的维度结构。不复杂但容易忽略细节。

以上就是python shape函数如何使用?的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号