![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
numpy
默默前行的旅者
记录过程
展开
-
pandas 缺失值不是NaN的处理情况
import pandas as pdimport numpy as npdata = pd.Series([1, -999, 2, -999, -1000, 3])# 替换单个值# data.replace(-999, np.NaN, inplace=True) # 将 -999替换成为 Nan# 替换多个值# data.replace([-999, -1000], np.NaN, inplace=True)# 对不同的值替换# data.replace([-999, -1000原创 2021-11-14 15:50:12 · 1565 阅读 · 0 评论 -
numpy NAN Inf 值处理
首先numpy 中NAN的类型为floatimport numpy as npdata = np.random.randint(0,10,size=(3,5))data = data.astype(np.float)data[0,1] = np.NANdata[1,2] = np.NAN# 这里取出 NAN 所在的行# 如果选取列 则取np.where(np.isnan(data))[1]lines = np.where(np.isnan(data))[0] # 删除含有 NAN 值的原创 2021-11-07 17:08:26 · 460 阅读 · 0 评论 -
nunpy 数组组合
如果有多个数组想要组合在一起,也可以通过其中的一些函数来实现。1 vstack:将数组按垂直方向进行叠加。数组的列数必须相同才能叠加。示例代码如下:a1 = np.random.randint(0,10,size=(3,5))a2 = np.random.randint(0,10,size=(1,5))a3 = np.vstack([a1,a2])2 hstack:将数组按水平方向进行叠加。数组的行必须相同才能叠加。示例代码如下:a1 = np.random.randint(0,10,size原创 2021-11-03 22:30:35 · 228 阅读 · 0 评论 -
numpy 多维数组转为一维数组
flatten和ravel方法:两个方法都是将多维数组转换为一维数组,但是有以下不同:flatten是将数组转换为一维数组后,然后将这个拷贝返回回去,所以后续对这个返回值进行修改不会影响之前的数组。ravel是将数组转换为一维数组后,将这个视图(可以理解为引用)返回回去,所以后续对这个返回值进行修改会影响之前的数组。比如以下代码:x = np.array([[1, 2], [3, 4]])x.flatten()[1] = 100 #此时的x[0]的位置元素还是1x.ravel()[1] = 1原创 2021-11-03 22:08:17 · 3873 阅读 · 0 评论 -
numpy 数组形状操作(改变形状)
reshape和resize方法:两个方法都是用来修改数组形状的,但是有一些不同。reshape是将数组转换成指定的形状,然后返回转换后的结果,对于原数组的形状是不会发生改变的。调用方式:a1 = np.random.randint(0,10,size=(3,4))a2 = a1.reshape((2,6)) #将修改后的结果返回,不会影响原数组本身resize是将数组转换成指定的形状,会直接修改数组本身。并不会返回任何值。调用方式:a1 = np.random.randint(0,10,si原创 2021-11-03 21:59:51 · 796 阅读 · 0 评论 -
numpy 将多维数组转换成一维数组
flatten和ravel方法:两个方法都是将多维数组转换为一维数组,但是有以下不同:flatten是将数组转换为一维数组后,然后将这个拷贝返回回去,所以后续对这个返回值进行修改不会影响之前的数组。ravel是将数组转换为一维数组后,将这个视图(可以理解为引用)返回回去,所以后续对这个返回值进行修改会影响之前的数组。比如以下代码:x = np.array([[1, 2], [3, 4]])x.flatten()[1] = 100 #此时的x[0]的位置元素还是1x.ravel()[1] = 1原创 2021-11-01 21:45:31 · 1379 阅读 · 0 评论 -
numpy中数据类型及常见属性介绍
ndarray常用属性:ndarray.dtype:因为数组中只能存储同一种数据类型,因此可以通过dtype获取数组中的元素的数据类型。以下是ndarray.dtype的常用的数据类型:我们可以看到,Numpy中关于数值的类型比Python内置的多得多,这是因为Numpy为了能高效处理处理海量数据而设计的。举个例子,比如现在想要存储上百亿的数字,并且这些数字都不超过254(一个字节内),我们就可以将dtype设置为int8,这样就比默认使用int64更能节省内存空间了。类型相关的操作如下:1 默认原创 2021-11-01 20:41:54 · 1903 阅读 · 0 评论 -
numpy数组创建
Numpy中的数组的使用跟Python中的列表非常类似。他们之间的区别如下:一个列表中可以存储多种数据类型。比如a = [1,‘a’]是允许的,而数组只能存储同种数据类型。数组可以是多维的,当多维数组中所有的数据都是数值类型的时候,相当于线性代数中的矩阵,是可以进行相互间的运算的。创建数组(np.ndarray对象):Numpy经常和数组打交道,因此首先第一步是要学会创建数组。在Numpy中的数组的数据类型叫做ndarray。以下是两种创建的方式:1 根据python列表生成:import nu原创 2021-11-01 20:21:58 · 265 阅读 · 0 评论 -
numpy 广播机制
numpy 广播机制在NumPy中如果遇到大小不一致的数组运算,就会触发广播机制。广播(broadcasting)指的是不同形状的数组之间的算术运算的执行方式。广播的原则如果两个数组的后缘维度(trailing dimension,即从末尾开始算起的维度)的轴长度相符,或其中的一方的长度为1,则认为它们是广播兼容的。广播会在缺失和(或)长度为1的维度上进行。通俗的理解就是:将两个数组的维度大小右对齐,然后比较对应维度上的数值,如果数值相等或其中有一个为1或者为空,则能进行广播运算,并且输出的维度大原创 2021-10-21 21:13:35 · 570 阅读 · 1 评论