Python中怎样用List、数组函数、numpy创建数组

Admin 2022-09-07 群英技术资讯 279 次浏览

今天就跟大家聊聊有关“Python中怎样用List、数组函数、numpy创建数组”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“Python中怎样用List、数组函数、numpy创建数组”文章能对大家有帮助。

 



使用 List 创建数组

数组用于在一个变量中存储多个值。Python 没有对数组的内置支持,但可以使用 Python 列表代替。

例子 :

arr = [1, 2, 3, 4, 5]
arr1 = ["geeks", "for", "geeks"]
# 用于创建数组的 Python 程序
 
# 使用列表创建数组
    arr=[1, 2, 3, 4, 5]
    for i in arr:
        print(i)

输出:

1
2
3
4
5

使用数组函数创建数组

array(data type, value list) 函数用于创建一个数组,其参数中指定了数据类型和值列表。

例子 :

# 演示 array() 工作的 Python 代码
  
# 为数组操作导入“array”
import array
  
# 用数组值初始化数组
# 用有符号整数初始化数组
arr = array.array('i', [1, 2, 3]) 
 
# 打印原始数组
print ("The new created array is : ",end="")
for i in range (0,3):
    print (arr[i], end=" ")
 
print ("\r")

输出:

The new created array is : 1 2 3 1 5

使用 numpy 方法创建数组

NumPy 提供了几个函数来创建具有初始占位符内容的数组。这些最大限度地减少了增长阵列的必要性,这是一项昂贵的操作。例如:np.zeros、np.empty等。

numpy.empty(shape, dtype = float, order = 'C'): 返回给定形状和类型的新数组,具有随机值。

# 说明 numpy.empty 方法的 Python 代码
 
import numpy as geek
 
b = geek.empty(2, dtype = int)
print("Matrix b : \n", b)
 
a = geek.empty([2, 2], dtype = int)
print("\nMatrix a : \n", a)
 
c = geek.empty([3, 3])
print("\nMatrix c : \n", c)

输出 :

Matrix b :
[ 0 1079574528]

Matrix a :
[[0 0]
[0 0]]

Matrix a :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]

numpy.zeros(shape, dtype = None, order = 'C'): 返回给定形状和类型的新数组,带零。

# 说明 numpy.zeros 方法的 Python 程序
 
import numpy as geek
 
b = geek.zeros(2, dtype = int)
print("Matrix b : \n", b)
 
a = geek.zeros([2, 2], dtype = int)
print("\nMatrix a : \n", a)
 
c = geek.zeros([3, 3])
print("\nMatrix c : \n", c)

输出 :

Matrix b :
[0 0]

Matrix a :
[[0 0]
[0 0]]

Matrix c :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]

重塑数组

我们可以使用reshape方法来重塑数组。考虑一个形状为 (a1, a2, a3, ..., aN) 的数组。我们可以重新整形并将其转换为另一个形状为 (b1, b2, b3, ..., bM) 的数组。

唯一需要的条件是: a1 x a2 x a3 … x aN = b1 x b2 x b3 … x bM 。(即数组的原始大小保持不变。)

numpy.reshape(array, shape, order = 'C'): 在不更改数组数据的情况下对数组进行整形。

# 说明 numpy.reshape() 方法的 Python 程序
 
import numpy as geek
 
array = geek.arange(8)
print("Original array : \n", array)
 
# 具有 2 行和 4 列的形状数组
array = geek.arange(8).reshape(2, 4)
print("\narray reshaped with 2 rows and 4 columns : \n", array)
 
# 具有 2 行和 4 列的形状数组
array = geek.arange(8).reshape(4 ,2)
print("\narray reshaped with 2 rows and 4 columns : \n", array)
 
# 构造 3D 数组
array = geek.arange(8).reshape(2, 2, 2)
print("\nOriginal array reshaped to 3D : \n", array)

输出 :

Original array :
[0 1 2 3 4 5 6 7]

array reshaped with 2 rows and 4 columns :
[[0 1 2 3]
[4 5 6 7]]

array reshaped with 2 rows and 4 columns :
[[0 1]
[2 3]
[4 5]
[6 7]]

Original array reshaped to 3D :
[[[0 1]
[2 3]]

[[4 5]
[6 7]]]

为了创建数字序列,NumPy 提供了一个类似于 range 的函数,它返回数组而不是列表。

arange返回给定间隔内均匀分布的值。长是指定的。

linspace 返回给定间隔内均匀分布的值。编号_ 的元素被返回。

arange([start,] stop[, step,][, dtype]): 根据间隔返回一个具有均匀间隔元素的数组。提到的间隔是半开的,即[开始,停止)

# 说明 numpy.arange 方法的 Python 编程
 
import numpy as geek
 
print("A\n", geek.arange(4).reshape(2, 2), "\n")
 
print("A\n", geek.arange(4, 10), "\n")
 
print("A\n", geek.arange(4, 20, 3), "\n")

输出 :

A
[[0 1]
[2 3]]

A
[4 5 6 7 8 9]

A
[ 4 7 10 13 16 19]

numpy.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None): 在间隔中均匀返回数字空间。类似于 arange 但不是 step 它使用样本编号。

# 说明 numpy.linspace 方法的 Python 编程
 
import numpy as geek
 
# 重新设置为 True
print("B\n", geek.linspace(2.0, 3.0, num=5, retstep=True), "\n")
 
# 长期评估 sin()
x = geek.linspace(0, 2, 10)
print("A\n", geek.sin(x))

输出 :

B
(array([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)

A
[ 0. 0.22039774 0.42995636 0.6183698 0.77637192 0.8961922
0.9719379 0.99988386 0.9786557 0.90929743]

展平数组

我们可以使用展平方法将数组的副本折叠成一维。它接受 order 参数。默认值为“C”(用于行优先顺序)。使用“F”表示列主要顺序。

numpy.ndarray.flatten(order = 'C') :返回折叠成一维的数组的副本。

# 说明 numpy.flatten() 方法的 Python 程序
 
import numpy as geek
 
array = geek.array([[1, 2], [3, 4]])
 
# 使用扁平化方法
array.flatten()
print(array)
 
#使用扁平化方法
array.flatten('F')
print(array)

输出 :

[1, 2, 3, 4]
[1, 3, 2, 4]

在 Numpy 中创建数组的方法

功能 描述
empty() 返回给定形状和类型的新数组,而不初始化条目
empty_like() 返回与给定数组具有相同形状和类型的新数组
eye() 返回一个二维数组,其中对角线为 1,其他位置为 0。
identity() 返回标识数组
ones() 返回一个给定形状和类型的新数组,用一个填充
one_like() 返回与给定数组具有相同形状和类型的数组
zeros() 返回给定形状和类型的新数组,用零填充
zeros_like() 返回与给定数组具有相同形状和类型的零数组
full_like() 返回与给定数组具有相同形状和类型的完整数组。
array() 创建一个数组
asarray() 将输入转换为数组
asanyarray() 将输入转换为 ndarray,但通过 ndarray 子类
ascontiguousarray() 返回内存中的连续数组(C 顺序)
asmatrix() 将输入解释为矩阵
copy() 返回给定对象的数组副本
frombuffer() 将缓冲区解释为一维数组
fromfile() 从文本或二进制文件中的数据构造数组
fromfunction() 通过在每个坐标上执行函数来构造数组
fromiter() 从可迭代对象创建一个新的一维数组
fromstring() 从字符串中的文本数据初始化的新一维数组
loadtxt() 从文本文件加载数据
arange() 在给定间隔内返回均匀间隔的值
linspace() 在指定的时间间隔内返回均匀分布的数字
logspace() 返回在对数刻度上均匀分布的数字
geomspace() 返回在对数尺度上均匀分布的数字(几何级数)
meshgrid() 从坐标向量返回坐标矩阵
mgrid() nd_grid 实例,它返回一个密集的多维“网格”
ogrid() nd_grid 实例,它返回一个开放的多维“meshgrid”
diag() 提取对角线或构造对角线数组
diagflat() 创建一个二维数组,将扁平化输入作为对角线
tri() 一个数组,在给定的对角线处和下方都有一个,在其他地方有零
tril() 数组的下三角形
triu() 数组的上三角形
vander() 生成范德蒙德矩阵
mat() 将输入解释为矩阵
bmat() 从字符串、嵌套序列或数组构建矩阵对象

关于“Python中怎样用List、数组函数、numpy创建数组”就介绍到这了,如果大家觉得不错可以参考了解看看,如果想要了解更多,欢迎关注群英网络,小编每天都会为大家更新不同的知识。 群英智防CDN,智能加速解决方案
标签: python数组创建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服