numpy模塊讀寫文件與統計分析

一、讀寫文件

1、存儲單個數組:save

存儲的時候需要指定存儲路徑,不需要指定文件後綴

arr = np.arange(100).reshape(10,10)
np.save('arr',arr)
load_data = np.load('arr.npy')
print(load_data)

如圖所示:運行之後創建了arr.npy文件

運行結果:

2、存儲多個數組  savez

 

arr = np.arange(100).reshape(10,10)
arr1 = np.arange(1,10,1).reshape(3,3)
np.savez('arrs',arr,arr1)
file = np.load('arrs.npz')
print(list(file))
print(file['arr_0'])
print(file['arr_1'])

運行之後創建了arrs.npz文件

讀取之後的結果:

 

3、將數組存儲在文本文檔中

文本文件 :包含txt和csv文件

arr = np.arange(100).reshape(10,10)
np.savetxt('arr.txt',arr,fmt='%d',delimiter=',')
# fmt 表示存儲的數據類型 delimiter表示分隔符
print(np.loadtxt('arr.txt',delimiter=','))

運行結果:

二、統計分析

1、排序:sort、argsort

import numpy as np
arr = np.random.randint(1,10,size=[3,3])
arr.sort(axis=0)  # axis=0表示縱向排序
print(arr)
arr.sort(axis=1)  # axis=1表示橫向排序
print(arr)
arr2 = np.array([1,6,4,5,3,2])
print(arr2.argsort()) # 返回的是從小到大排序後的元素的索引值
index= arr2.argsort()
print(arr2[index][0])  # 取最小值
print(arr2[index[:5]]) # 取最小值前五個
arr2.sort()
print(arr2)

運行結果:

2、去重 set 和 unique

arr = np.array([1,2,3,4,2,3,5])
# 利用集合去重
print(set(arr))
# unique
print(np.unique(arr))

運行結果:

3、重複 tile和repeat

arr = np.arange(1,10,1).reshape(3,3)
print(np.tile(arr,2)) # 整體重複
print(arr.repeat(2,axis=0)) # 單個重複 縱向重複

運行結果:

4、統計函數

sum 求和函數  mean: 求平均值  var:方差  std:標準差

(1)求和

arr = np.arange(1,10,1).reshape(3,3)
print(arr)
print('元素總和:',np.sum(arr))
print('縱向元素總和',np.sum(arr,axis=0))
print('橫向元素總和',np.sum(arr,axis=1))

運行結果:

(2)求平均值

arr = np.arange(1,10,1).reshape(3,3)
print(arr)
print('全部元素平均值',np.mean(arr))
print('縱向元素平均值',np.mean(arr,axis=0))
print('橫向元素平均值',np.mean(arr,axis=1))

運行結果:

(3)方差 var

arr = np.arange(1,10,1).reshape(3,3)
print(arr)
print('方差',np.var(arr))
print('縱向方差',arr.var(axis=0))
print('橫向方差',arr.var(axis=1))

運行結果:

(4)標準差 std

arr = np.arange(1,10,1).reshape(3,3)
print(arr)
print('標準差',np.std(arr))
print('縱向標準差',arr.std(axis=0))

運行結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章