Numpy基础之数组(创建全0、全一数组,ones_like创建形状相同的数组、full创建指定值的数组、full_like创建类型相同的指定值数组、基础索引和切片等与数组相关的所有操作)

本文详细介绍了使用NumPy库在Python中进行数组的基本操作,包括数组相加、创建不同类型数组(如全1、全0、随机数)、形状操作、计算、数据类型转换以及高级索引和切片技巧。涵盖了数组基础到数据分析的实用内容。
摘要由CSDN通过智能技术生成
import numpy as np
def 数组相加(n):
    a=np.arange(1,n+1)**3
    b=np.arange(1,n+1)**2
    return a+b
print(数组相加(3))
#创建数组
a=np.array(range(1,6))
#np.arange(1,6,3) 最后的数字为步长
b=np.arange(1,6)
print(a)
print("-"*30)
print(b)
print(a.shape)
print(a.ndim)
print(a.size)
print(a.dtype)
#使用ones创建全为1的数组
#一维数组
a=np.ones(3)
print(a)
#二维数组
b=np.ones((3,5))
print("三行五列全为一的数组:",b)
#ones_like创建形状相同的数组
a=[[1,2,3,4],
   [5,6,7,8]]
b=np.ones_like(a)
print(b)
#zeros创建全为0的数组
zero=np.zeros(5)
#创建一维5列全为0的数组
print(zero)
zero1=np.zeros((3,2))
print(zero1)
#full创建指定值的数组
f=np.full(5,250)
print(f)
print("-"*30)
#创建二维数组
f1=np.full((3,4),520)
print(f1)
#full_like创建类型相同的指定值数组
a=[[52,55,65,45],
   [5,45,55,49],[51,15,25,35],[22,15,85,65],
   ]
fl=np.full_like(a,520)
print(fl)
#使用random模块
#生成一个随机数
a=np.random.randn()
print("一个随机数",a)
print("-"*40)
#多个随机数
b=np.random.randn(5)
print(b)
print("-"*40)
#随机生成数组
c=np.random.randn(2,3)
print(c)
print("-"*40)
#随机生成多维数组
d=np.random.randn(3,4,3)
print(d)
#给数据指定数据类型
a=np.array(range(2,9),dtype="int32")
print(a)
print(a.dtype)
print(type(a))
b=np.array(range(3,9),dtype="float32")
print(b)
print(b.dtype)
print(type(b))
#多维数组
a=np.array([1,2,3,4,5])
print(a)
print(a.shape)
print(a.ndim)
print(a.size)
print(a.dtype)
print(type(a))
b=np.array(
 [ [1,2],[3,4]
]
)

print(b)
print(b.shape)
print(b.ndim)
print(b.size)
print(b.dtype)
print(type(b))
#reshape不修改值,修改形状
import random
a=np.arange(10).reshape(10)
b=a.reshape(2,5)
#不管对方什么阵型,直接转为一维
c=b.flatten()
print(a)
print(b)
print(c)
#计算数组
a=np.arange(12).reshape(3,4)

print(np.shape(a))
b=a+1
print(b)
print(a*2)
a=np.arange(15).reshape(3,5)
b=np.random.randn(1,5).reshape(1,5)
print(a)
print('-'*30)
print(b)
print('-'*30)
print(a+b)
print('-'*30)
print(a-b)
#基础索引和切片
#一维数组
a=np.arange(6)
print(a)
print(a[0])
print(a[2:3])
print(a[-1])
#二维数组
b=np.arange(20).reshape(4,5)
print(b)
print(b[0][0])
#取第二行
print(b[2])
#取第一行,第二列
print(b[1,2])
#除了最后一行,去除余下行
print(b[0:-1])
#取0,1行,2,3列
print(b[0:2,2:4])
#取所有行中的第2列
print(b[:,2])
#切片修改
# b[0:2]=520
# print(b)
b[:1,:2]=250
print(b)
#布尔索引
a=np.arange(10)
print(a)
筛选=a<5
print(a[筛选])
# a[a<=5]=0
# a[a>5]=1
# print(a)
a[a<=5]+=250
print(a)
print('-'*40)
#二维数组
data=np.arange(1,13).reshape(3,4)
print(data)
print('-'*40)
sx=data>6
print(sx)
print('-'*40)
print(data[sx])
print('-'*40)
c=data[:,3]>5
d=data[:,3][c]+250
print(d)
#找出偶数或小于7的
condition=(data%2==0)|(data<7)
print(data[condition])
#神奇索引
a=np.arange(24).reshape(4,6)
print(a)
print(a[[3,2]])#返回第3行,第2行
print('-'*40)
b=np.arange(32).reshape(8,4)
print(b)
print('-'*40)
print(b[[0,5,3],[1,2,3]])#输出第0行,第5行,第3行,第1列,第5列,第6列
print('-'*40)
#取所有行的第1,3列
print(b[:,[1,3]])

运行结果:

D:\Python\p\Scripts\python.exe "D:\Python\python-learning\数据分析(一)\计算数组.py" 
[ 2 12 36]
[1 2 3 4 5]
------------------------------
[1 2 3 4 5]
(5,)
1
5
int32
[1. 1. 1.]
三行五列全为一的数组: [[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]]
[[1 1 1 1]
 [1 1 1 1]]
[0. 0. 0. 0. 0.]
[[0. 0.]
 [0. 0.]
 [0. 0.]]
[250 250 250 250 250]
------------------------------
[[520 520 520 520]
 [520 520 520 520]
 [520 520 520 520]]
[[520 520 520 520]
 [520 520 520 520]
 [520 520 520 520]
 [520 520 520 520]]
一个随机数 0.5945631234284523
----------------------------------------
[ 1.97165771  0.97575032  1.13215205 -1.39854416  0.07745663]
----------------------------------------
[[ 0.81900775  0.34432822 -0.34315524]
 [-0.45802452 -0.48370465  0.09599291]]
----------------------------------------
[[[ 1.2670115   1.40338605  0.09866375]
  [-0.75625225  0.61069217  1.33360167]
  [-0.90408869  0.91615536  2.05775181]
  [-1.54817782  0.64326842 -0.64436197]]

 [[ 2.0422435  -0.37332483  0.05307181]
  [-1.54659664 -0.70224743 -0.98218515]
  [-1.7245799  -0.22071314  0.72881375]
  [ 0.9424487   0.85781549  0.16831111]]

 [[-0.74794341  0.87388753 -1.69176107]
  [-0.2702907   0.86127632 -0.39412594]
  [ 0.10057755  1.31484892  0.45262427]
  [ 0.61230205  0.296768    1.85021645]]]
[2 3 4 5 6 7 8]
int32
<class 'numpy.ndarray'>
[3. 4. 5. 6. 7. 8.]
float32
<class 'numpy.ndarray'>
[1 2 3 4 5]
(5,)
1
5
int32
<class 'numpy.ndarray'>
[[1 2]
 [3 4]]
(2, 2)
2
4
int32
<class 'numpy.ndarray'>
[0 1 2 3 4 5 6 7 8 9]
[[0 1 2 3 4]
 [5 6 7 8 9]]
[0 1 2 3 4 5 6 7 8 9]
(3, 4)
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
[[ 0  2  4  6]
 [ 8 10 12 14]
 [16 18 20 22]]
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
------------------------------
[[ 1.40223146  1.13958682  0.4920874  -0.96970043  1.62768621]]
------------------------------
[[ 1.40223146  2.13958682  2.4920874   2.03029957  5.62768621]
 [ 6.40223146  7.13958682  7.4920874   7.03029957 10.62768621]
 [11.40223146 12.13958682 12.4920874  12.03029957 15.62768621]]
------------------------------
[[-1.40223146 -0.13958682  1.5079126   3.96970043  2.37231379]
 [ 3.59776854  4.86041318  6.5079126   8.96970043  7.37231379]
 [ 8.59776854  9.86041318 11.5079126  13.96970043 12.37231379]]
[0 1 2 3 4 5]
0
[2]
5
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
0
[10 11 12 13 14]
7
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
[[2 3]
 [7 8]]
[ 2  7 12 17]
[[250 250   2   3   4]
 [  5   6   7   8   9]
 [ 10  11  12  13  14]
 [ 15  16  17  18  19]]
[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4]
[250 251 252 253 254 255   6   7   8   9]
----------------------------------------
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
----------------------------------------
[[False False False False]
 [False False  True  True]
 [ True  True  True  True]]
----------------------------------------
[ 7  8  9 10 11 12]
----------------------------------------
[258 262]
[ 1  2  3  4  5  6  8 10 12]
[[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]
 [12 13 14 15 16 17]
 [18 19 20 21 22 23]]
[[18 19 20 21 22 23]
 [12 13 14 15 16 17]]
----------------------------------------
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]
 [16 17 18 19]
 [20 21 22 23]
 [24 25 26 27]
 [28 29 30 31]]
----------------------------------------
[ 1 22 15]
----------------------------------------
[[ 1  3]
 [ 5  7]
 [ 9 11]
 [13 15]
 [17 19]
 [21 23]
 [25 27]
 [29 31]]

进程已结束,退出代码为 0

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值