python numpy数据处理常用方法及用法

本文介绍的方法均为我在做作业是常用的方法,要是有不对的地方还请大神指正

数组的基本操作

numpy中数组的条件查询--np.where()函数

两种用法

1.三个参数时:满足condition条件,输出x,不满足输出y。

2.一个参数时:输出数组中‘真’值的坐标。

函数原型为:

numpy.where(condition, [x, y, ]/)

示例

>>> import numpy as np
>>> a = np.arange(9).reshape(3,3)
>>> b = np.zeros((3,3))
>>> c = np.ones((3,3))
>>> print(np.where((a > 5), b, c))
[[1. 1. 1.]
 [1. 1. 1.]
 [0. 0. 0.]]
>>> print(np.where(a > 5))
(array([2, 2, 2], dtype=int64), array([0, 1, 2], dtype=int64))
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> b
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
>>> c
array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])

数据处理--数组切片和索引

与列表切片不同,NumPy中数组切片的结果都是数组的视图,对视图的修改会引起原有数组的改变。

>>> a = np.arange(9)
>>> b = a[::-1]
>>> b
array([8, 7, 6, 5, 4, 3, 2, 1, 0])
>>> b = a[1:5:2]
>>> b
array([1, 3])
>>> a>5
array([False, False, False, False, False, False,  True,  True,  True])
>>> a[a>5]
array([6, 7, 8])
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8])

数组排序--np.argsort()函数

函数原型为

argsort(a, axis=-1, kind='quicksort', order=None)

数组本身不变,返回轴axis从小到大排序的下标数组,默认为行

axis = 0 返回数组每一列从小到大的索引值

kind参数可取值‘quicksort’、‘mergesort’、‘heapsort’或‘stable’,分别代表快速排序、归并排序、堆排序、稳定排序。默认为快速排序,可根据排序需要选择。

示例

>>> index_row = np.argsort(a)
>>> index_column = np.argsort(a,axis=0)
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> index_row
array([[0, 1, 2],
       [0, 1, 2],
       [0, 1, 2]], dtype=int64)
>>> index_column
array([[0, 0, 0],
       [1, 1, 1],
       [2, 2, 2]], dtype=int64)

​

数据处理方法--np.char.replace(aoldnewcount=None)

>>> a = ['$4%','$5%']
>>> a = np.array(a)
>>> a
array(['$4%', '$5%'], dtype='<U3')
>>> a = np.char.replace(a,'$','%')
>>> a
array(['%4%', '%5%'], dtype='<U3')

数据处理方法--np.char.count(asubstart=0end=None)

返回一个数组,其中包含区域 [start, end] 中子字符串 sub 的非重叠出现次数。

>>> a
array(['$4%', '$5%'], dtype='<U3')
>>> loc = '%'
>>> loc_data = np.char.count(a,loc)
>>> loc_data
array([2, 2])
>>> loc_data = np.char.count(a,'4')
>>> loc_data
array([1, 0])

数据处理--去重--np.unique(a)

>>> a = ['4','5','4','5','3']
>>> a = np.array(a)
>>> a
array(['4', '5', '4', '5', '3'], dtype='<U1')
>>> a = np.unique(a)
>>> a
array(['3', '4', '5'], dtype='<U1')

数据统计与分析

函数描述函数描述
min()最小值max()最大值
argmax()最大值索引argmin()最小值索引
cumsum()所有元素累加cumprod()所有元素累乘
sum()对数组元素进行求和median()中位数
mean()均值average()加权平均值
ptp()极差var()方差
std()标准差cov()协方差

读取文本文件--loadtxt()方法

numpy.loadtxt(fname, dtype=float, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes', max_rows=None, *, quotechar=None, like=None)

这里只介绍部分常用的参数

fname:要读取的文件、文件名、列表或生成器等。

dtype:生成数组的数据类型,默认值是 dtype=float。

delimiter:用于分隔值的字符串,默认值为空格。

skiprows:值为整数。文件开头数据描述的存在可能阻碍数据处理,此时可以使用skiprows参数。

comments:字符串或字符串序列,用于指明注释开始的字符,默认值为'#'。

converters:转换器,用于对数据进行预处理。值为函数名或包含键值对“列索引:函数名”的字典。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值