python中numpy 常用操作总结

前言:

NumPy 是 Python 语言的一个扩充程序库,支持大量高维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。同时NumPy 是机器学习必不可少的工具之一。

常用操作主要有:

  • 创建数组
  • 数组运算
  • 数学函数
  • 数组切片和索引
  • 数组形状操作
  • 数组排序
  • 数组统计

环境

  • Python 3.6
  • NumPy: 1.14.2

1、导包

import numpy as np

2、通过列表创建数组 array()

np.array([1, 2, 3]) #一维数组
np.array([(1, 2, 3), (4, 5, 6)]) #二维数组

3、0/1数组 zeros()、ones()

np.zeros((3, 3)) #3行3列
np.ones((2, 3, 4))

4、等差数组 arange() reshape()

#一维等差
np.arange(5) #array([0, 1, 2, 3, 4])
# 二维等差
np.arange(6).reshape(2, 3)
结果:
array([[0, 1, 2],
[3, 4, 5]])

5、单位矩阵 eye()

np.eye(3)
结果:
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])

7、等间隔数组

#一维
np.linspace(1, 10, num=6) #array([ 1. , 2.8, 4.6, 6.4, 8.2, 10. ])

8、随机数组

np.random.rand(2, 3)
array([[0.40360777, 0.74141574, 0.32018331],
[0.15261484, 0.18692149, 0.19351765]])

9、随机整数数组

np.random.randint(10, size=(2, 3)) #数值小于10
array([[2, 1, 0],
[2, 7, 5]])

10、依据函数创建数组

np.fromfunction(lambda i, j: i + j, (3, 6))
array([[0., 1., 2., 3., 4., 5.],
[1., 2., 3., 4., 5., 6.],
[2., 3., 4., 5., 6., 7.]])

数组运算

+-*/ 加减乘除,对应位置元素

# 矩阵乘法
np.dot(A, B)
# 如果使用 np.mat 将二维数组准确定义为矩阵,就可以直接使用 * 完成矩阵乘法计算
np.mat(A) * np.mat(B)

转置:

A.T

矩阵求逆:

np.linalg.inv(A)

e^x

np.exp(a)

平方根:

np.sqrt(a)

三次方:

np.power(a, 3)

数组的切皮与索引

一维数组:

a = np.array([1, 2, 3, 4, 5])
# 一维数组索引
a[0], a[-1]
# 一维数组切片
a[0:2], a[:-1]

二维数组;

a = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)])
# 索引
a[0], a[-1]
######## 切片
# 取第二列
a[:, 1]
#取第 2,3 行
a[1:3, :]

数组形状

形状(行列数)

a.shape

更改行列数

a.reshape(2, 3) #指向新对象, reshape 并不改变原始数组
# resize 会改变原始数组
a.resize(2, 3)

展平数组

a.ravel()

垂直拼合数组,摞起来

np.vstack((a, b))

水平拼合数组,挨着摆

np.hstack((a, b))

分割数组:

array([[5, 0, 2],
[4, 2, 4],
[4, 7, 9]])
# 沿横轴分割数组
np.hsplit(a, 3)
[array([[5],
[4],
[4]]), array([[0],
[2],
[7]]), array([[2],
[4],
[9]])]
# 沿纵轴分割数组
np.vsplit(a, 3)
[array([[5, 0, 2]]), array([[4, 2, 4]]), array([[4, 7, 9]])]

数组排序:

# 生成示例数组
a = np.array(([1, 4, 3], [6, 2, 9], [4, 7, 2]))
# #### 返回每列最大值
np.max(a, axis=0)
# #### 返回每行最小值
np.min(a, axis=1)
# #### 返回每列最大值索引
np.argmax(a, axis=0)
# #### 返回每行最小值索引
np.argmin(a, axis=1)

数组统计:

# 继续使用上面的 a 数组
np.median(a, axis=0)
# #### 统计数组各行的算术平均值
np.mean(a, axis=1)
# #### 统计数组各列的加权平均值
np.average(a, axis=0)
# #### 统计数组各行的方差
np.var(a, axis=1)
# #### 统计数组各列的标准偏差
np.std(a, axis=0)

进阶:

# #### 51. 创建一个 5x5 的二维数组,其中边界值为1,其余值为0
# In[60]:
Z = np.ones((5,5))
Z[1:-1,1:-1] = 0
Z
# #### 52. 使用数字 0 将一个全为 1 的 5x5 二维数组包围
# In[61]:
Z = np.ones((5,5))
Z = np.pad(Z, pad_width=1, mode='constant', constant_values=0)
Z
# #### 53. 创建一个 5x5 的二维数组,并设置值 1, 2, 3, 4 落在其对角线下方
# In[62]:
Z = np.diag(1+np.arange(4),k=-1)
Z
# #### 54. 创建一个 10x10 的二维数组,并使得 1 和 0 沿对角线间隔放置
# In[63]:
Z = np.zeros((10,10),dtype=int)
Z[1::2,::2] = 1
Z[::2,1::2] = 1
Z
# #### 55. 创建一个 0-10 的一维数组,并将 (1, 9] 之间的数全部反转成负数
# In[64]:
Z = np.arange(11)
Z[(1 < Z) & (Z <= 9)] *= -1
Z
# #### 56. 找出两个一维数组中相同的元
# In[65]:
Z1 = np.random.randint(0,10,10)
Z2 = np.random.randint(0,10,10)
print("Z1:", Z1)
print("Z2:", Z2)
np.intersect1d(Z1,Z2)
# #### 57. 使用 NumPy 打印昨天、今天、明天的日期
# In[66]:
yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
today = np.datetime64('today', 'D')
tomorrow = np.datetime64('today', 'D') + np.timedelta64(1, 'D')
print("yesterday: ", yesterday)
print("today: ", today)
print("tomorrow: ", tomorrow)
# #### 58. 使用五种不同的方法去提取一个随机数组的整数部分
# In[67]:
Z = np.random.uniform(0,10,10)
print("原始值: ", Z)
print ("方法 1: ", Z - Z%1)
print ("方法 2: ", np.floor(Z))
print ("方法 3: ", np.ceil(Z)-1)
print ("方法 4: ", Z.astype(int))
print ("方法 5: ", np.trunc(Z))
# #### 59. 创建一个 5x5 的矩阵,其中每行的数值范围从 1 到 5
# In[68]:
Z = np.zeros((5,5))
Z += np.arange(1,6)
Z
# #### 60. 创建一个长度为 5 的等间隔一维数组,其值域范围从 0 到 1,但是不包括 0 和 1
# In[69]:
Z = np.linspace(0,1,6,endpoint=False)[1:]
Z
# #### 61. 创建一个长度为10的随机一维数组,并将其按升序排序
# In[70]:
Z = np.random.random(10)
Z.sort()
Z
# #### 62. 创建一个 3x3 的二维数组,并将列按升序排序
# In[71]:
Z = np.array([[7,4,3],[3,1,2],[4,2,6]])
print("原始数组: \n", Z)
Z.sort(axis=0)
Z
# #### 63. 创建一个长度为 5 的一维数组,并将其中最大值替换成 0
# In[72]:
Z = np.random.random(5)
print("原数组: ",Z)
Z[Z.argmax()] = 0
Z
# #### 64. 打印每个 NumPy 标量类型的最小值和最大值
# In[73]:
for dtype in [np.int8, np.int32, np.int64]:
print("The minimum value of {}: ".format(dtype), np.iinfo(dtype).min)
print("The maximum value of {}: ".format(dtype),np.iinfo(dtype).max)
for dtype in [np.float32, np.float64]:
print("The minimum value of {}: ".format(dtype),np.finfo(dtype).min)
print("The maximum value of {}: ".format(dtype),np.finfo(dtype).max)
# #### 65. 将 `float32` 转换为整型
# In[74]:
Z = np.arange(10, dtype=np.float32)
print(Z)
Z = Z.astype(np.int32, copy=False)
Z
# #### 66. 将随机二维数组按照第 3 列从上到下进行升序排列
# In[75]:
Z = np.random.randint(0,10,(5,5))
print("排序前:\n",Z)
Z[Z[:,2].argsort()]
# #### 67. 从随机一维数组中找出距离给定数值(0.5)最近的数
# In[76]:
Z = np.random.uniform(0,1,20)
print("随机数组: \n", Z)
z = 0.5
m = Z.flat[np.abs(Z - z).argmin()]
m
# #### 68. 将二维数组的前两行进行顺序交换
# In[77]:
A = np.arange(25).reshape(5,5)
print(A)
A[[0,1]] = A[[1,0]]
print(A)
# #### 69. 找出随机一维数组中出现频率最高的值
# In[78]:
Z = np.random.randint(0,10,50)
print("随机一维数组:", Z)
np.bincount(Z).argmax()
# #### 70. 找出给定一维数组中非 0 元素的位置索引
# In[79]:
Z = np.nonzero([1,0,2,0,1,0,4,0])
Z
# #### 71. 对于给定的 5x5 二维数组,在其内部随机放置 p 个值为 1 的数
# In[80]:
p = 3
Z = np.zeros((5,5))
np.put(Z, np.random.choice(range(5*5), p, replace=False),1)

Z
# #### 72. 对于随机的 3x3 二维数组,减去数组每一行的平均值

# In[81]:
X = np.random.rand(3, 3)
print(X)
Y = X - X.mean(axis=1, keepdims=True)
Y
# #### 73. 获得二维数组点积结果的对角线数组
# In[82]:
A = np.random.uniform(0,1,(3,3))
B = np.random.uniform(0,1,(3,3))
print(np.dot(A, B))
# 较慢的方法
np.diag(np.dot(A, B))
# In[83]:
# 较快的方法
np.sum(A * B.T, axis=1)
# In[84]:
# 更快的方法
np.einsum("ij, ji->i", A, B)
# #### 74. 找到随机一维数组中前 p 个最大值
# In[85]:
Z = np.random.randint(1,100,100)
print(Z)
p = 5
Z[np.argsort(Z)[-p:]]
# #### 75. 计算随机一维数组中每个元素的 4 次方数值
# In[86]:
x = np.random.randint(2,5,5)
print(x)
np.power(x,4)
# #### 76. 对于二维随机数组中各元素,保留其 2 位小数
# In[87]:
Z = np.random.random((5,5))
print(Z)
np.set_printoptions(precision=2)
Z
# #### 77. 使用科学记数法输出 NumPy 数组
# In[88]:
Z = np.random.random([5,5])
print(Z)
Z/1e3
# #### 78. 使用 NumPy 找出百分位数(25%,50%,75%)
# In[89]:
a = np.arange(15)
print(a)
np.percentile(a, q=[25, 50, 75])
# #### 79. 找出数组中缺失值的总数及所在位
# In[90]:
# 生成含缺失值的 2 维数组
Z = np.random.rand(10,10)
Z[np.random.randint(10, size=5), np.random.randint(10, size=5)] = np.nan
Z
# In[91]:
print("缺失值总数: \n", np.isnan(Z).sum())
print("缺失值索引: \n", np.where(np.isnan(Z)))
# #### 80. 从随机数组中删除包含缺失值的行
# In[92]:
# 沿用 79 题中的含缺失值的 2 维数组
Z[np.sum(np.isnan(Z), axis=1) == 0]
# #### 81. 统计随机数组中的各元素的数量
# In[93]:
Z = np.random.randint(0,100,25).reshape(5,5)
print(Z)
np.unique(Z, return_counts=True) # 返回值中,第 2 个数组对应第 1 个数组元素的数量
# #### 82. 将数组中各元素按指定分类转换为文本值
# In[94]:
# 指定类别如下
# 1 → 汽车
# 2 → 公交车
# 3 → 火车
Z = np.random.randint(1,4,10)
print(Z)
label_map = {1: "汽车", 2: "公交车", 3: "火车"}
[label_map[x] for x in Z]
# #### 83. 将多个 1 维数组拼合为单个 Ndarray
# In[95]:
Z1 = np.arange(3)
Z2 = np.arange(3,7)
Z3 = np.arange(7,10)
Z = np.array([Z1, Z2, Z3])
print(Z)
np.concatenate(Z)
# #### 84. 打印各元素在数组中升序排列的索引
# In[96]:
a = np.random.randint(100, size=10)
print('Array: ', a)
a.argsort()
# #### 85. 得到二维随机数组各行的最大值
# In[97]:
Z = np.random.randint(1,100, [5,5])
print(Z)
np.amax(Z, axis=1)
# #### 86. 得到二维随机数组各行的最小值(区别上面的方法)

# In[98]:
Z = np.random.randint(1,100, [5,5])
print(Z)
np.apply_along_axis(np.min, arr=Z, axis=1)
# #### 87. 计算两个数组之间的欧氏距离

# In[99]:
a = np.array([1, 2])
b = np.array([7, 8])
# 数学计算方法
print(np.sqrt(np.power((8-2), 2) + np.power((7-1), 2)))
# NumPy 计算
np.linalg.norm(b-a)
# #### 88. 打印复数的实部和虚部
# In[100]:
a = np.array([1 + 2j, 3 + 4j, 5 + 6j])
print("实部:", a.real)
print("虚部:", a.imag)
# #### 89. 求解给出矩阵的逆矩阵并验证
# In[101]:
matrix = np.array([[1., 2.], [3., 4.]])
inverse_matrix = np.linalg.inv(matrix)
# 验证原矩阵和逆矩阵的点积是否为单位矩阵
assert np.allclose(np.dot(matrix, inverse_matrix), np.eye(2))
inverse_matrix
# #### 90. 使用 Z-Score 标准化算法对数据进行标准化处理
# Z-Score 标准化公式:
# $$Z = \frac{X-\mathrm{mean}(X)}{\mathrm{sd}(X)}$$
# In[102]:
# 根据公式定义函数
def zscore(x, axis = None):
xmean = x.mean(axis=axis, keepdims=True)
xstd = np.std(x, axis=axis, keepdims=True)
zscore = (x-xmean)/xstd
return zscore
# 生成随机数据
Z = np.random.randint(10, size=(5,5))
print(Z)
zscore(Z)
# #### 91. 使用 Min-Max 标准化算法对数据进行标准化处理
# Min-Max 标准化公式:
# $$Y = \frac{Z-\min(Z)}{\max(Z)-\min(Z)}$$
# In[103]:
# 根据公式定义函数
def min_max(x, axis=None):
min = x.min(axis=axis, keepdims=True)
max = x.max(axis=axis, keepdims=True)
result = (x-min)/(max-min)
return result
# 生成随机数据
Z = np.random.randint(10, size=(5,5))
print(Z)
min_max(Z)
# #### 92. 使用 L2 范数对数据进行标准化处理
# L2 范数计算公式:
# $$L_2 = \sqrt{x_1^2 + x_2^2 + \ldots + x_i^2}$$
# In[104]:
# 根据公式定义函数
def l2_normalize(v, axis=-1, order=2):
l2 = np.linalg.norm(v, ord = order, axis=axis, keepdims=True)
l2[l2==0] = 1
return v/l2

# 生成随机数据
Z = np.random.randint(10, size=(5,5))
print(Z)

l2_normalize(Z)
# #### 93. 使用 NumPy 计算变量直接的相关性系数
# In[105]:
Z = np.array([
[1, 2, 1, 9, 10, 3, 2, 6, 7], # 特征 A
[2, 1, 8, 3, 7, 5, 10, 7, 2], # 特征 B
[2, 1, 1, 8, 9, 4, 3, 5, 7]]) # 特征 C
np.corrcoef(Z)
# 相关性系数取值从 `[-1, 1]` 变换,靠近 1 则代表正相关性较强,-1 则代表负相关性较强。结果如下所示,变量 A 与变量 A 直接的相关性系数为 `1`,因为是同一个变量。变量 A 与变量 C 之间的相关性系数为 `0.97`,说明相关性较强。
# ```
# [A] [B] [C]
# array([[ 1. , -0.06, 0.97] [A]
# [-0.06, 1. , -0.01], [B]
# [ 0.97, -0.01, 1. ]]) [C]
# ```
# #### 94. 使用 NumPy 计算矩阵的特征值和特征向量
# In[106]:
M = np.matrix([[1,2,3], [4,5,6], [7,8,9]])
w, v = np.linalg.eig(M)
# w 对应特征值,v 对应特征向量
w, v
# 我们可以通过 `P'AP=M` 公式反算,验证是否能得到原矩阵。
# In[107]:
v * np.diag(w) * np.linalg.inv(v)
# #### 95. 使用 NumPy 计算 Ndarray 两相邻元素差值
# In[108]:
Z = np.random.randint(1,10,10)
print(Z)
# 计算 Z 两相邻元素差值
print(np.diff(Z, n=1))
# 重复计算 2 次
print(np.diff(Z, n=2))
# 重复计算 3 次
print(np.diff(Z, n=3))
# #### 96. 使用 NumPy 将 Ndarray 相邻元素依次累加
# In[109]:
Z = np.random.randint(1,10,10)
print(Z)
"""
[第一个元素, 第一个元素 + 第二个元素, 第一个元素 + 第二个元素 + 第三个元素, ...]
"""
np.cumsum(Z)
# #### 97. 使用 NumPy 按列连接两个数组
# In[110]:
M1 = np.array([1, 2, 3])
M2 = np.array([4, 5, 6])
np.c_[M1, M2]
# #### 98. 使用 NumPy 按行连接两个数组
# In[111]:
M1 = np.array([1, 2, 3])
M2 = np.array([4, 5, 6])
np.r_[M1, M2]
# #### 99. 使用 NumPy 打印九九乘法表
# In[112]:
np.fromfunction(lambda i, j: (i + 1) * (j + 1), (9, 9))
# #### 100. 使用 NumPy 将实验楼 LOGO 转换为 Ndarray 数组
# In[113]:
from io import BytesIO
from PIL import Image
import PIL, requests
# 通过链接下载图像
URL = 'https://static.shiyanlou.com/img/logo-black.png'
response = requests.get(URL)
# 将内容读取为图像
I = Image.open(BytesIO(response.content))
# 将图像转换为 Ndarray
shiyanlou = np.asarray(I)
shiyanlou
# In[114]:
# 将转换后的 Ndarray 重新绘制成图像
from matplotlib import pyplot as plt
get_ipython().run_line_magic('matplotlib', 'inline')
plt.imshow(shiyanlou)
plt.show()

到此这篇关于python中numpy 常用操作总结的文章就介绍到这了,更多相关python numpy内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python numpy数组的索引和切片的操作方法

    NumPy - 简介 NumPy 是一个 Python 包. 它代表 "Numeric Python". 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的. 也开发了另一个包 Numarray ,它拥有一些额外的功能. 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包. 这个开源项目有很多贡献者. NumPy 操作 使用Nu

  • Python数据清洗工具之Numpy的基本操作

    1. Numpy(Numberical Python) Anaconda中已经集成了NumPy,可以直接使用.如果想要自行安装的话,可以使用流行的Python 包安装程序 pip 来安装 NumPy,目前使用的是Anaconde的环境进行学习和使用这个库 1.1 这库的安装方法 CMD :pip install numpy 或者使用清华源的镜像库:pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple (直接复制可用) 如果想查

  • python 将numpy维度不同的数组相加相乘操作

    第一种 np矩阵可以直接与标量运算 >>>import numpy as np >>>arr1 = np.arange(12).reshape([2,2,3]) >>>arr1 array([[[ 0, 1, 2], [ 3, 4, 5]], [[ 6, 7, 8], [ 9, 10, 11]]]) >>>arr1*5 array([[[ 0, 5, 10], [15, 20, 25]], [[30, 35, 40], [45, 50

  • Python使用numpy产生正态分布随机数的向量或矩阵操作示例

    本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作.分享给大家供大家参考,具体如下: 简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力.一般的正态分布可以通过标准正态分布配合数学期望向量和协方差矩阵得到.如下代码,可以得到满足一维和二维正态分布的样本. 示例1(一维正态分布): # coding=utf-8 '''

  • python使用NumPy文件的读写操作

    一.使用NumPy读写文本文件 在数据分析中,经常需要从文件中读取数据或将数据写入文件,常用的存储文件的格式有文本文件.CSV格式文件.二进制格式文件和多维数据文件等. 1.将1维或2维数组写入TXT文件或CSV格式文件 在NumPy中,使用savetxt()函数可以将1维或2维数组写入后缀名为txt或csv的文件.函数格式为: **numpy.savetxt(fname,array,fmt='%.18e',delimiter=None,newline='\n', header='', foot

  • python数据分析Numpy库的常用操作

    numpy库的引入: import numpy as np 1.numpy对象基础属性的查询 lst = [[1, 2, 3], [4, 5, 6]] def numpy_type(): print(type(lst)) data = np.array(lst, dtype=np.float64) # array将数组转为numpy的数组 # bool,int,int8,int16,int32,int64,int128,uint8,uint32, # uint64,uint128,float16

  • python图像处理基本操作总结(PIL库、Matplotlib及Numpy)

    一.PIL库对图像的基本操作 1.读取图片 PIL网上有很多介绍,这里不再讲解.直接操作,读取一张图片,将其转换为灰度图像,并打印出来. from PIL import Image import matplotlib.pyplot as plt pil_im = Image.open("empire.jpeg") pil_image = pil_im.convert("L") plt.gray() plt.imshow(pil_image) plt.show() 输

  • Python OpenCV中的numpy与图像类型转换操作

    Python OpenCV存储图像使用的是Numpy存储,所以可以将Numpy当做图像类型操作,操作之前还需进行类型转换,转换到int8类型 import cv2 import numpy as np # 使用numpy方式创建一个二维数组 img = np.ones((100,100)) # 转换成int8类型 img = np.int8(img) # 颜色空间转换,单通道转换成多通道, 可选可不选 img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) cv2

  • python中NumPy的安装与基本操作

    目录 Numpy是什么 NumPy的安装 多维数组 创建多维数组 多维数组的常用属性 多维数组的基本操作 数组的算术运算 数组的自身运算 随机数组 索引.切片.迭代 总结 Numpy是什么 很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数.如果接触过matlab.scilab,那么numpy很好入手. NumPy是一个高性能的科学计算和数据

  • python中numpy 常用操作总结

    前言: NumPy 是 Python 语言的一个扩充程序库,支持大量高维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.同时NumPy 是机器学习必不可少的工具之一. 常用操作主要有: 创建数组 数组运算 数学函数 数组切片和索引 数组形状操作 数组排序 数组统计 环境 Python 3.6 NumPy: 1.14.2 1.导包 import numpy as np 2.通过列表创建数组 array() np.array([1, 2, 3]) #一维数组 np.array([(1, 2

  • python中list常用操作实例详解

    本文实例讲述了python中list常用操作.分享给大家供大家参考.具体分析如下: 1.定义list >>> li = ["a", "b", "mpilgrim", "z", "example"] >>> li ['a', 'b', 'mpilgrim', 'z', 'example'] >>> li[0] 'a' >>> li[4]

  • Python中字典常用操作的示例详解

    目录 前言 初始化 合并字典 字典推导式 Collections 标准库 字典转 JSON 字典转 Pandas 前言 字典是Python必用且常用的数据结构,本文梳理常用的字典操作,看这个就够了,涉及: 初始化 合并字典 字典推导式 Collections 标准库 字典转JSON 字典转Pandas 初始化 # 最常用这种 my_object = { "a": 5, "b": 6 } # 如果你不喜欢写大括号和双引号: my_object = dict(a=5,

  • python中set常用操作汇总

    sets 支持 x in set, len(set),和 for x in set.作为一个无序的集合,sets不记录元素位置或者插入点.因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作. 下面我们通过几个例子,来简单说明下 常用操作1 In [2]: a = set() In [3]: a Out[3]: set() In [4]: type(a) Out[4]: set In [5]: b = set([1, 3]) In [6]:

  • python中numpy包使用教程之数组和相关操作详解

    前言 大家应该都有所了解,下面就简单介绍下Numpy,NumPy(Numerical Python)是一个用于科学计算第三方的Python包. NumPy提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库.专为进行严格的数字处理而产生.下面本文将详细介绍关于python中numpy包使用教程之数组和相关操作的相关内容,下面话不多说,来一起看看详细的介绍: 一.数组简介 Numpy中,最重要的数据结构是:多维数组类型(numpy.ndarray) ndarray由两部分组成

  • python库sklearn常用操作

    目录 前言 一.MinMaxScaler 前言 sklearn是python的重要机器学习库,其中封装了大量的机器学习算法,如:分类.回归.降维以及聚类:还包含了监督学习.非监督学习.数据变换三大模块.sklearn拥有完善的文档,使得它具有了上手容易的优势:并它内置了大量的数据集,节省了获取和整理数据集的时间.因而,使其成为了广泛应用的重要的机器学习库. sklearn是一个无论对于机器学习还是深度学习都必不可少的重要的库,里面包含了关于机器学习的几乎所有需要的功能,因为sklearn库的内容

  • Python中Numpy和Matplotlib的基本使用指南

    目录 1. Jupyter Notebooks 2. NumPy 数组 3. SciPy 稀疏数组 4. Matplotlib 总结 1. Jupyter Notebooks 作为小白,我现在使用的python编辑器是Jupyter Notebook,非常的好用,推荐!!! 你可以按[Ctrl] + [Enter]快捷键或按菜单中的运行按钮来运行单元格. 在function(后面按[shift] + [tab],可以获得函数或对象的帮助. 你还可以通过执行function?获得帮助. 2. Nu

  • Python之Numpy 常用函数总结

    目录 通用函数 常见的简单数组函数 一元函数 二元函数 通用函数 常见的简单数组函数 先看看代码操作: mport numpy as np # # 产生一个数组 arr=np.arange(15) arr >>array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) # 对里面的元素进行开根号处理 np.sqrt(arr) >>array([0. , 1. , 1.41421356, 1.73205081, 2. , 2.

  • Python中Numpy模块使用详解

    目录 NumPy ndarray对象 ​ ​Numpy数据类型​​ Numpy数组属性 NumPy NumPy(Numerical Python) 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Nupmy可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)).据说NumPy将Python相当于变成一种免费的更强大的MatLab系统.

随机推荐