numpy|numpy -- 利用数组进行数据处理 排序 去重以及其它集合运算
利用数组进行数据处理
类型 | 说明 |
---|---|
unique(x) | 计算x中的唯一元素,并返回有序结果。 |
intersect1d(x, y) | 计算x和y中的公共元素,并返回有序结果。 |
union1d(x, y) | 计算x和y的并集,并返回有序结果。 |
in1d(x, y) | 得到一个表述"x的元素是否包含于y"的布尔型数组 |
setdiff1d(x, y) | setdiff1d(x, y) |
setxor1d(x, y) | 集合的差,即元素在x中且不在y中 |
cumprod | 集合的异或,即存在于一个数组中但不同时存在于两个数组中的元素。 |
import numpy as np
排序
arr = np.random.randn(5)
arr.sort()
print(arr)
[-0.78386546 -0.38684845 -0.366866930.124529240.84976248]
二维数组排序
arr = np.random.randn(5,3)
print(arr)
[[ 0.78372274 -1.10862240.19517135]
[-1.681569531.389599281.64771021]
[-1.006951441.04649726 -0.57994712]
[-1.55014457 -0.12266938 -1.43501458]
[ 0.411997551.131621070.68240463]]
arr.sort(1)
print(arr)
[[-1.10862240.195171350.78372274]
[-1.681569531.389599281.64771021]
[-1.00695144 -0.579947121.04649726]
[-1.55014457 -1.43501458 -0.12266938]
[ 0.411997550.682404631.13162107]]
找中位数
arr = np.random.randn(10000000)
arr.sort()
print(arr[int(0.5*len(arr))])
0.000460625211239
唯一化
names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
传统做法
print(set(names))
{'Bob', 'Joe', 'Will'}
unique的方法
print(np.unique(names))
print(sorted(set(names)))
['Bob' 'Joe' 'Will']
['Bob', 'Joe', 'Will']
成员资格判断
values = np.array([6, 0, 0, 3, 2, 5, 6])
print (np.in1d(values, [2, 3, 6]))
[ True False FalseTrueTrue FalseTrue]
推荐阅读
- 数组常用方法一
- Java|Java基础——数组
- JS常见数组操作补充
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- 【万伽复利】什么是复利(如何利用复利赚钱?)
- JS|JS 数组求和与数组求平均值
- 超帅的js数组去重
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript判断数组的方法总结与推荐
- 苹果手机如何利用库乐队自制铃声