Numpy数据科学库的整理

本文详细介绍了Python科学计算库Numpy的核心功能与常用操作,包括数组的创建、索引、切片、广播机制、数组运算及字符串处理等。同时,文章提供了丰富的示例代码,帮助读者更好地理解和应用Numpy。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Numpy 的介绍

Numpy包是Python科学计算中的核心工具包之一,它提供了高性能多维数组结构-ndarray和用来操控这些数组的各种工具和函数

Numpy 的对象–ndarray数组

1.初始化数组

import numpy as np
np.empty(shape, dtype = float)
np.zeros(shape, dtype = float)
np.ones(shape, dtype = None)

2.创建数组

import numpy as np
np.array(object, dtype = None)

3.创建数值范围的数组

import numpy as np
np.arange(start, stop, step, dtype)  # 区间范围为前闭后开

ndarray – 数组结构

1.dtype 查看数据类型

arr.dtype  

2.ndarray.astype 转换数据类型

import numpy as np 
arr= np.array([[1,2,3],[4,5,6]]) 
arr.astype('float')

3.ndarray.shape查看数组的形状

import numpy as np 
arr= np.array([[1,2,3],[4,5,6]]) 
arr.shape

4.ndarray.reshape函数来调整数组大小

import numpy as np
arr = np.array([[1,2,3],[4,5,6]]) 
arr1 = arr.reshape(3,2)  # 转变成三行两列

Numpy – 功能

1.切片和索引
通过将由冒号分隔的切片参数(start:stop:step)直接提供给ndarray对象

import numpy as np
nda = np.arange(10)
nda1 = nda[2:6:2] 
nda2 = nda[2:] 
n = np.array([[1,2,3],[3,4,5],[4,5,6]]) 
nda3 = n[1:2,2:3]  # 提取第2,3行和3,4

2.高级索引
分为整数索引和布尔值索引
(1)整数索引

import numpy as np
arr = np.array([[1,  2],  [3,  4],  [5,  6]]) 
arr1 = x[[0,1,2],  [1,1,0]]  

输出结果包括数组中(0,1),(1,1)和(2,0)位置处的元素
(2)布尔索引
当结果对象是布尔运算(例如比较运算符)的结果时,将使用此类型的高级索引

3.广播
原则:如果两个数组的后缘维度(即:从末尾开始算起的维度)的轴长相符或其中一方的长度为1,则认为它们是广播兼容的,广播会在缺失和(或)长度为1的轴上进行.。

import numpy as np 
arr1 = np.array([10,20,30])  
arr2 = np.array([[1,2,3],[4,5,6],[7,8,9]]) 

(1,3)+(3,4)可以广播

Numpy – 数组的操作

import numpy as np 
arr = np.array([[1,2],[3,4]]) 
arr.T   # 数组的转置 -->[[1,3],[2,4]] 
arr.ravel()   # 扁平化数组 --> [1,2,3,4]
arr.reshape(4,1)
arr.resize((2,3))

np.append(arr, [[5,6]])
np.insert(arr, 3,[5,6])
np.delete(arr, 1)
np.concatenate(arr,arr)
np.hstack((arr,arr))
np.vstack((arr,arr))
np.split(arr,2)
arr.tolist()   # 将数组转换为列表

NumPy – 字符串函数

序号函数的描述
1np.char.add() 返回两个 str 数组的逐个字符串连接
2np.char.multiply() 执行多重连接
3np.char.upper() 返回一个数组,其元素转换为大写
4np.char.lower() 返回一个数组,其元素转换为小写
5np.char.split() 返回字符串中的单词列表,并使用分隔符来分割
6np.char.splitlines() 返回元素中的行列表,以换行符分割
7np.char.strip() 返回数组副本,其中元素移除了开头或者结尾处的特定字符
8np.char.replace() 返回字符串的副本,其中所有子字符串的出现位置都被新字符串取代
9np.char.join() 返回一个字符串,它是序列中字符串的连接
10np.char.center() 返回给定字符串的副本,其中元素位于特定字符串的中央

常见函数的详细介绍
1.np.char.add()

import numpy as np  
print(np.char.add(['doudou'],[' xueyuan']))
# --> ['doudou xueyuan']
print(np.char.add(['hello', 'doudou'],[' good', ' xueyuan']))
--> ['hello good' 'doudou xueyuan']

2.np.char.split()

import numpy as np  
print(np.char.split ('hello welcome to doudouxueyuan'))
--> ['hello', 'welcome', 'to', 'doudouxueyuan']

3.np.char.strip()
函数返回数组的副本,其中元素移除了开头或结尾处的特定字符

import numpy as np 
print(np.char.strip(['hello', 'welcome', 'to', 'doudouxueyuan'],'o'))

4.np.char.replace()

import numpy as np 
print(np.char.replace ('hello welcome to doudouxueyuan', 'hello ', 'hi'))

5.np.char.join()
这个函数返回一个字符串,其中单个字符由特定的分隔符连接。

import numpy as np 
print(np.char.join(':','dmy'))
print(np.char.join([':','-'],['dmy','ymd']))

NumPy – 数组的运算

import numpy as np 
np.nan is np.nan   #--> True
np.nan == np.nan   #--> False
# 比较运算符 返回布尔数组
a == b  # 逐元素比较,返回等维布尔数组
# 算数运算符
a+b,a-b,a*b,a/b
a.dot(b)  # 进行数量积运算
a.max(a)  #  min mean (可以指定轴的方向 axis=1)
np.std(a)  # 标准差
a.sort(axis=1) # 指定维度方向增序排序数组
a.copy()   # 深拷贝数组
np.copy(a) # 浅拷贝数组
np.exe(a), np.sqrt(a), np.log(a), np.sin(a)  # 幂,开放,取对数,正弦,

以上就是近期对Python科学计算库numpy的理解与常用的方法的整理,以后遇到常用的随时补充。下一篇我们来与pandas认识一下,下篇见→.→

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值