numpy学习3

numpy简单函数

一、排序

python 复制代码
# 使用numpy进行简单分析
import numpy as np
# 1 排序
np.random.seed(42)  # 设置随机种子:确定后随机数确定,不会再发生变化
arr = np.random.randint(1,10,size=10)  # size表示生成数的元素个数
print(arr)
arr.sort()
print(arr)

arr=np.random.randint(1,10,size=(3,3)) # 生成3行3列的随机数
print(arr)
arr.sort(axis=1)  # 沿着横轴排序
print(arr)
arr.sort(axis=0)  # 沿着纵轴排序
print(arr.sort(axis=0))  # 返回值为None

arr1 = np.random.randint(1,10,size=10)  # size表示生成数的元素个数
arr1.argsort()  # 返回值为重新排序值的下标

二、去重

python 复制代码
import numpy as np
# 去重函数:unique ,且会排序,从低到高
names=np.array(["小明","小白","小花","小明","小白"])
scores=np.array([89,87,45,12,67,89,45,22])
new_name = np.unique(names)
new_score = np.unique(scores)
print(new_name)
print(new_score)

# 和unique等价的Python代码:sorted(set(names))
# set集合:唯一性
print(sorted(set(names)))

arr2=np.arange(5)
print(arr2)
print(np.tile(arr2,3))   # tile对数组进行重复:对arr2进行重复3次

# 对行或者列重复
np.random.seed(10)  # 设置随机种子:确定后随机数确定,不会再发生变化
arr = np.random.randint(1,15,size=(3,3))  # size表示生成数的元素个数
print("-------------")
print(arr)
print(arr.repeat(2,axis=0)) # 按行进行元素重复2次
print(arr.repeat(3,axis=1)) # 按列进行元素重复3次

数据简单统计

python 复制代码
import numpy as np

#  np.mean () 均值
# 含义:一组数据的平均水平

#  np.var () 方差
# 含义:数据离散波动大小;数值越大,数据越分散
# 适用场景
# 1. 衡量稳定性:股票收益率波动、设备测量误差、生产线产品尺寸波动
# 2. 特征筛选:方差很小的特征几乎没有信息,可以删掉

#  np.std () 标准差
# 含义:方差开根号,和原始数据单位一致,最直观衡量波动

# np.cumsum () 累计和(累计值)
# 含义:逐项累加,得到到当前位置为止的总和,保留时序顺序
# 时序累计:每日销售额 → 累计营收;每日流量 → 累计访问量

# 函数            作用
# mean均值     描述集中位置          平均水平
# var方差      数学上衡量离散度        波动大小(平方单位)
# std标准差     直观衡量波动          波动大小(同原单位)
# cumsum累计和  时序累加过程          随位置不断累积总量

arr=np.arange(2,20).reshape(3,6)
# print(arr)
# # 求和
# print(np.sum(arr)) # 计算数组的和
# print(arr.sum(axis=0)) # 沿着横轴计算求和,取行
# print(arr.sum(axis=1)) # 沿着纵轴计算求和,取列

load_data = np.loadtxt("./iris_sepal_length.csv",delimiter=",")
print(load_data.shape)
print(type(load_data))
# print(load_data)
# print(load_data.__len__())
# print(len(load_data))
# 1 排序 执行后原数据不变
sorted_data = np.sort(load_data)        # 默认升序
sorted_data = np.sort(load_data)[::-1]  # 逆序输出
# print(load_data)
# print(sorted_data)

# 2 去重 执行后原数据不变
uniqued_data = np.unique(load_data)
# print(uniqued_data)
# print(load_data)

# 3 求和 np.array([1,2,3,4])
# print(np.sum(arr))  # 1+2+3+4 = 10
sum_data = np.sum(load_data)

# 累积和  print(np.cumsum(arr))
#  [1, 1+2, 1+2+3, 1+2+3+4] → [1, 3, 6, 10]
cumsum_data = np.cumsum(load_data)
print(cumsum_data)

# 均值
mean_data = np.mean(load_data)
print(mean_data)

# 标准差
std_data = np.std(load_data)
print(std_data)

# 方差
var_data = np.var(load_data)
print(var_data)

# 最小值
min_data = np.min(load_data)
print(min_data)

# 最大值
max_data = np.max(load_data)
print(max_data)
相关推荐
赵谨言2 小时前
多语种在线语言学习平台LinguaVerse的设计与实现毕业论文
学习
東隅已逝,桑榆非晚3 小时前
算法3.双指针法-快乐数
c++·笔记·学习·算法
li星野3 小时前
Regular and Irregular Nouns — One-Page A4 Notes
学习
Z21-X5 小时前
云原生运维实战笔记:华为云存储类服务全景解析——EVS、OBS、SFS与CBR深度实践
运维·笔记·学习·云原生·华为云
视觉小萌新17 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
yyyang8820 小时前
蓝牙系统整体架构详解
学习·信息与通信
Linux-lucky20 小时前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
金色光环1 天前
【DSP学习】C2000_ADC中断_笔记
笔记·学习
Дерек的学习记录1 天前
Unreal Engine 5:第三人称运动系统和人物动画
开发语言·学习·ue5
zhangrelay1 天前
mrpt杂乱笔记-26-10-31
笔记·学习