加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
numpy2.py 2.08 KB
一键复制 编辑 原始数据 按行查看 历史
枙义38 提交于 2024-08-08 13:29 . numpy学习2
import numpy as np
import matplotlib.pyplot as plt
import random
t=np.arange(24).reshape(4,6)
print(t)
## 更改矩阵的值
print("~"*100)
print(np.where(t<10,0,1))
## 裁剪矩阵的值
print("~"*100)
print(t.clip(5,15))
## nan != nan
print("~"*100)
_t=t.astype("float") ## 将t转换为float类型
_t[:,0]=0
_t[[1,2],[2,3]]=np.nan;
print(_t)
print(np.count_nonzero(_t)) ## 统计非零值
print(np.count_nonzero(_t!=_t)) ## 统计nan值
print(np.count_nonzero(np.isnan(_t))) ## 统计nan值
print(np.isnan(_t)) ## 判断是否为nan
print(np.sum(_t,axis=0)) ## 统计每列的和,但是nan会被忽略,任何数与之加减仍然为nan
print(np.sum(_t,axis=1)) ## 统计每行的和,但是nan会被忽略,任何数与之加减仍然为nan
########################numpy的数值计算########################
import numpy as np
print("~"*100)
x=np.arange(24).reshape(4,6)
x[1,:]=0
print(x)
print(x.sum(axis=0)) ## 统计每列的和
print(x.mean(axis=0)) ## 统计每列的平均值
print(np.median(x,axis=0)) ## 统计每列的中位数
print(x.max(axis=0)) ## 统计每列的最大值
print(np.argmax(x,axis=0)) ## 统计每列的最大值的索引
print(x.min(axis=0)) ## 统计每列的最小值
print(np.argmin(x,axis=0)) ## 统计每列的最小值的索引
print(np.ptp(x,axis=0)) ## 统计每列的最大值和最小值的差(极值)
print(x.std(axis=0)) ## 统计每列的标准差
print(np.var(x,axis=0)) ## 统计每列的方差
########################numpy中填充nan########################
import numpy as np
def fill_nan(a):
for i in range(a.shape[1]):
temp=a[:,i]
nan_num=np.count_nonzero(temp!=temp) ## 统计当前列的nan的个数
if nan_num!=0:
temp_not_nan=temp[temp==temp] ## 获取当前列不为nan的元素
temp[np.isnan(temp)]=temp_not_nan.mean() ## 将当前列的nan元素替换为均值
return a
if __name__=="__main__":
a=np.arange(12).reshape(3,4).astype("float")
a[1,2:]=np.nan
print(a)
_a=fill_nan(a)
print(_a)
############################数组的拼接##################################
import numpy as np
b=np.arange(12).reshape(3,4)
c=np.arange(12,24).reshape(3,4)
print(np.vstack((b,c))) ## 竖直方向拼接
print("~"*100)
print(np.hstack((b,c))) ## 水平方向拼接
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化