数据分析 -- numpy

import numpy as np

# 创建服从均匀分布的随机数组
rand_array = np.random.rand(2, 3)
print("均匀分布的随机数组:\n", rand_array)

# 创建服从标准正态分布的随机数组
randn_array = np.random.randn(2, 3)
print("标准正态分布的随机数组:\n", randn_array)

# 创建指定范围的随机整数数组
randint_array = np.random.randint(1, 10, size=(2, 3))
print("指定范围的随机整数数组:\n", randint_array)

# 创建服从均匀分布的随机数组
random_array = np.random.random((2, 3))
print("均匀分布的随机数组:\n", random_array)

>均匀分布的随机数组:
 [[0.49018606 0.05014734 0.38739906]
 [0.09357898 0.98583039 0.6992634 ]]
>标准正态分布的随机数组:
 [[ 1.44017508  0.55562128 -0.11157242]
 [ 0.80112095  1.58158805  0.81131876]]
>指定范围的随机整数数组:
 [[7 6 9]
 [5 2 6]]
>均匀分布的随机数组:
 [[0.35562269 0.29418661 0.49925419]
 [0.76548519 0.70753405 0.02305559]]

数组属性

  • 数组索引
array = np.array([[1, 2, 3], [4, 5, 6]])
# 获取特定元素
print("第一个元素:", array[0, 0])
print("最后一个元素:", array[-1, -1])
# 获取特定行
print("第一行:", array[0, :])
print("第二列:",array[:, 1])

>第一个元素: 1
>最后一个元素: 6
>第一行: [1 2 3]
>第二列: [2 5]

  • 数组形状
# 创建数组
array = np.array([[1, 2, 3], [4, 5, 6]])
print(array.shape)

>(2, 3)

  • 数组维度/大小
array = np.array([[1, 2, 3], [4, 5, 6]])
print(array.ndim)
print(array.size)

> 2
> 6

  • 数组数据类型
array = np.array([[1, 2, 3], [4, 5, 6]])
print(array.dtype)

> int64

数组变更

  • 改变形状
# 创建数组
array = np.array([[1, 2, 3], [4, 5, 6]])
array = np.reshape(array, (3, 2))
print(array)

>[[1 2]
 [3 4]
 [5 6]]

  • 改变数据类型
array = np.array([[1, 2, 3], [4, 5, 6]])
array = array.astype(float)
print(array.dtype)

>float64

  • 数组切片
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
sub_array = array[0:2, 1:3]
print(sub_array)

>[[2 3]
 [5 6]]

  • 数组转置
my_array = np.array([[1, 2, 3], [4, 5, 6]])
transposed_array = np.transpose(my_array)
print(transposed_array)

>[[1 4]
 [2 5]
 [3 6]]

  • 数组连接
# 创建数组
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

# 沿水平方向连接数组
hstacked_array = np.hstack((array1, array2))
print("水平连接的数组:\n", hstacked_array)

# 沿垂直方向连接数组
vstacked_array = np.vstack((array1, array2))
print("垂直连接的数组:\n", vstacked_array)

>水平连接的数组:
 [[1 2 5 6]
 [3 4 7 8]]
>垂直连接的数组:
 [[1 2]
 [3 4]
 [5 6]
 [7 8]]

  • 数组拆分
- numpy.split(array, indices_or_sections, axis=0): 沿指定轴拆分数组
- numpy.hsplit(array, indices_or_sections): 水平拆分数组(列)
- numpy.vsplit(array, indices_or_sections): 垂直拆分数组(行)

array = np.array([[1, 2, 3, 11, 12, 13], [4, 5, 6, 14,15,16], [7, 8, 9, 17,18,19]])

# 使用numpy.split()沿第1轴(行)拆分数组
split_array1 = np.split(array, 3, axis=0)
for arr in split_array1:
    print(arr)

>[[ 1  2  3 11 12 13]]
 [[ 4  5  6 14 15 16]]
 [[ 7  8  9 17 18 19]]

# 使用numpy.hsplit()水平拆分数组
split_array2 = np.hsplit(array, 3)
for arr in split_array2:
    print(arr)

>[[1 2]
  [4 5]
  [7 8]]
 [[ 3 11]
  [ 6 14]
  [ 9 17]]
 [[12 13]
  [15 16]
  [18 19]]

# 使用numpy.vsplit()垂直拆分数组
split_array3 = np.vsplit(array, 3)
for arr in split_array3:
    print(arr)

>[[ 1  2  3 11 12 13]]
 [[ 4  5  6 14 15 16]]
 [[ 7  8  9 17 18 19]]

  • 数组重复
array = np.array([1, 2, 3])

# 数组元素重复
repeated_array = np.repeat(array, 2)
print("重复后的数组:", repeated_array)

# 数组重复
 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/d98dc341254c25ef958532294de6e2a7.png)

![img](https://img-blog.csdnimg.cn/img_convert/28590a2351943ade24cbeb4009d30108.png)

![img](https://img-blog.csdnimg.cn/img_convert/7e755eef0df3830dcf956f3ccbf05997.png)

![img](https://img-blog.csdnimg.cn/img_convert/16099ba6c622a1a8761a0be291c77ad0.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**

ps://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**

![](https://img-blog.csdnimg.cn/img_convert/26f59a8ae3322aff6b71e8276eaef1f4.jpeg)
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值