numpy的基本介绍

numpy的基本介绍

numpy最重要的是一个多维数组,ndarray对象 数组可以理解为列表,多维数组就是列表嵌套列表 出现的原因是numpy底层使用的是C 语言编写 和python里的list比较, 执行效率要高的多的多的多。

导入模块
import numpy as np(习惯改个名字 简单一点)

用jupyter 的里%timeit 计算代码运行的时间

%timeit sum(range(1000000))
#35 ms ± 277 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
%timeit np.sum(np.arange(1000000))
#2.24 ms ± 125 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

numpy里的求和的效率比直接使用sum的效率高了十倍不止。

numpy里最重要的数据结构是ndarray 这是一个多维数组

ndarray 的创建方式

1, 直接调用 numpy 里的array 方法得到一个ndarray对象

 a = np.array(
    [[
        [2,3,4],
        [2,3,4]
    ],
    [
        [2,3,4],
        [2,3,4]
    ]]
)

打印出来的 a是一个(2,2,3)的一个列表

[[[2 3 4]
[2 3 4]]

[[2 3 4]
[2 3 4]]]

2,full 和full_like 方法,需要shape和fill_value两个参数

b = np.full(shape=(5,2), fill_value=['77','7'])
c = np.full_like(a,fill_value=[7])

打印出来b = [[‘77’ ‘7’]
[‘77’ ‘7’]
[‘77’ ‘7’]
[‘77’ ‘7’]
[‘77’ ‘7’]]

c = array([[[7, 7, 7],
[7, 7, 7]],

  					 [[7, 7, 7],
   				 [7, 7, 7]]])

这里因为我实在jupyter’里面 直接打印了c 我用了print打印了b
在这里插入图片描述

3,ones 和 ones_like

d = np.ones(shape=(4,4))

返回一个(4,4)的列表 元素都是1

array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])

4,zeros 和 zeros_like

和ones 是一样的 只是里面的元素用0 填充

5,arange 生成指定序列数组

np.arange(2, 10).reshape(2,4) 
# 这是生成一个形状是(2,4) 元素是[2,10)的一个列表
#array([[2, 3, 4, 5],
#       [6, 7, 8, 9]])
np.random.normal(loc=7, size=(2,3,3))
#loc 是指定接近给定的数据
# 这是生成随机数 接近 7 的随机数 形状是(2,3,3)的 
#array([[[6.8208245 , 6.04934953, 7.68211542],
#        [6.23931205, 9.47065395, 5.08243697],
#       [6.51084257, 7.04377684, 7.31366509]],
#
#       [[5.72961768, 6.54448095, 6.23690148],
#        [6.07553398, 7.93632722, 5.84778843],
#        [6.69124011, 7.10721062, 6.15648761]]])
 

6, random 使用随机数生成序列, random可以指定 shape 里的参数

np.random.randint((2,10),size=(4,2))
 # randint是使用 size 这个参数 效果和shape是一样的
#array([[0, 5],
#       [0, 3],
#       [1, 7],
#       [1, 0]])

7,linspace 生成一个等差数列的数组

np.linspace(10, 100, num=12)
# [10,100] 分成12分的等差数列
#array([ 10.        ,  18.18181818,  26.36363636,  34.54545455,
#       42.72727273,  50.90909091,  59.09090909,  67.27272727,
#       75.45454545,  83.63636364,  91.81818182, 100.        ])

8, eye 生成一个对角为一的矩阵

np.eye(4, 6, k=1) # k 默认是 0
k 等于几 就从第一排的第几个开始取对角 对角用1 填充 其他的用0 填充
#array([[0., 1., 0., 0., 0., 0.],
#       	  [0., 0., 1., 0., 0., 0.],
#   		  [0., 0., 0., 1., 0., 0.],
#  		  [0., 0., 0., 0., 1., 0.]])

9, diag 将数组拆成对角矩阵

np.diag([1,2,3,4], k=1) #k 默认是0
# 用传入的数据作为对角矩阵的对角数据
#array([[0, 1, 0, 0, 0],
#       [0, 0, 2, 0, 0],
#       [0, 0, 0, 3, 0],
#       [0, 0, 0, 0, 4],
#       [0, 0, 0, 0, 0]])
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. NumPy基本用法: - 安装:使用pip命令安装NumPy库:`pip install numpy` - 导入:在Python代码中导入NumPy库:`import numpy as np` - 创建数组:使用np.array()函数创建NumPy数组,可以传入列表、元组等:`arr = np.array([1, 2, 3])` - 数组属性:可以使用数组的属性获取信息,如形状(shape)、维度(ndim)、元素类型(dtype)等:`arr.shape`、`arr.ndim`、`arr.dtype` - 数组运算:NumPy支持对数组进行各种数学运算,如加减乘除、幂运算、三角函数等。运算可以直接对数组进行,也可以使用NumPy的函数进行:`arr + 2`、`np.sin(arr)` - 数组索引和切片:可以使用索引和切片操作获取数组中的元素或子数组:`arr[0]`、`arr[1:3]` - 数组操作:可以进行数组的合并、重塑、转置等操作,如np.concatenate()、np.reshape()、np.transpose()等。 2. Pandas的基本用法: - 安装:使用pip命令安装Pandas库:`pip install pandas` - 导入:在Python代码中导入Pandas库:`import pandas as pd` - 创建Series和DataFrame:Pandas的核心数据结构是Series和DataFrame。可以使用pd.Series()创建Series对象,pd.DataFrame()创建DataFrame对象。 - 数据读取:Pandas可以读取多种数据源的数据,如CSV、Excel、数据库等。使用pd.read_csv()、pd.read_excel()等函数进行数据读取。 - 数据处理:Pandas提供了丰富的数据处理功能,如数据清洗、缺失值处理、重复值处理、数据筛选、排序等。 - 数据分析:Pandas支持各种统计分析和聚合操作,如求和、均值、最大值、最小值、分组统计等。可以使用DataFrame的方法进行分析操作。 - 数据可视化:Pandas结合Matplotlib库,可以进行数据可视化操作,如绘制折线图、柱状图、散点图等。 - 数据导出:可以将处理后的数据导出为CSV、Excel等格式,使用to_csv()、to_excel()等方法。 NumPy是一个用于数值计算的库,提供了强大的数组和矩阵运算功能。而Pandas是一个基于NumPy的数据分析库,提供了高效的数据操作和处理工具。NumPy适合处理数值型数据,而Pandas适合处理结构化的表格型数据。两者经常一起使用,在数据分析和科学计算领域具有广泛的应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值