Numpy常用的数据清洗函数

排序函数
np.sort
将元素进行小到大的顺序排序
axis
-1
默认情况下为-1,当为-1的时候是进行小到大排序
0
当为0的时候,是进行列的方式进行操作(从小到大)
1
当为1的时候,是进行行的方式进行操作(从小到大的顺序)
np.argsort
将元素进行小到大的顺序排序(但返回的结果为元素对应的索引值)

数据的搜索
np.where
意思:可以自定义返回满足条件的情况
语法:condition, x=None, y=None
condition
条件语句
x
当条件成立,返回的结果
y
当条件不成立,返回的结果
np.extract
意思:返回满足条件的返回值
语法:condition, arr
condition
条件语句
arr
筛选出符合条件的元素

# -*- coding: utf-8 -*- 
# @Time : 2020/2/3 10:58 
# @Author : 大数据小J

import numpy as np

"""
数据的排序
sort函数:从小到大进行排序
np.sort: 从小到大进行排序(返回的结果为列表类型)
np.argsort 返回的是数据中从小到大的索引值

sort
意思:将元素进行排序

语法:a, axis=-1, kind=None, order=None
axis=-1:默认情况下等于-1 ,从小到大进行排序
axis=0:当为0的时候是进行列来排序
axis=1:当为1时,将元素进行  行的顺序进行排序
0代表列,1代表行
"""
# data = [1, 2, 3, 4, 3, 1, 2, 2, 4, 6, 7, 2, 4, 8, 4, 5]
# arr = np.array(sorted(data, reverse=True))
# print(np.sort(arr))   # [1 1 2 2 2 2 3 3 4 4 4 4 5 6 7 8] 返回的结果是从小到大排序的列表
# print(np.argsort(arr))   # [ 0  5  1  6  7 11  2  4  3  8 12 14 15  9 10 13]  返回的结果是一个列表(但返回的类型是对应的下标索引值)

# arr1 = np.array([[3, 2, 1], [9, 6, 8], [45, 68, 29]])
# print(arr1)
# print(np.sort(arr1, axis=-1))  # [[1 2 3][6 8 9][29 45 68]]
# print(np.sort(arr1, axis=0))  # [[3 2 1][9 6 8][45 68 29]]  #axis当为0的时候,是进行列的操作
# print(np.sort(arr1, axis=1))   # [[1 2 3][6 8 9][29 45 68]]  #当axis当为1的时候,是进行行的操作

"""
np.where
意思:条件筛选语句
语法:condition, x=None, y=None
condition:条件语句
x:当条件满足的时候,返回的结果
y:当条件不满足的时候,返回的结果

np.extract
意思:判断一个值的大小,当小于指定的值,将会丢弃该值
语法:condition, arr
condition:条件语句
arr:返回其条件符合的元素

"""

s = [1, 2, 3, 4, 3, 1, 2, 2, 4, 6, 7, 2, 4, 8, 4, 5]
data = np.array(s)
# print(np.where(data>3, 1, -1))  # [-1 -1 -1  1 -1 -1 -1 -1  1  1  1 -1  1  1  1  1]判断数组中的元素是否大于3,当大于3的时候返回1,当不大于3的时候返回-1
# print(np.extract(data>3, arr=data))   # [4 4 6 7 4 8 4 5] 进行条件筛选,当条件成立返回符合的元素

发布了54 篇原创文章 · 获赞 26 · 访问量 6168

猜你喜欢

转载自blog.csdn.net/qq_37662827/article/details/104153853