数据分析-科学计算numpy的学习

# -*- coding: utf-8 -*-
import numpy as np
#创建数组
list1=[1,3,5,-2,0,-9]
list2=[2,4,-3,-7,1,7]
list3=[[2,5,0],[-1,3,4]]
list4=[[3,1,8],[9,3,9]]
arry=np.array(list3)
print(arry)
arr2=np.arange(1,10,2)#对1-10每隔2个取一个
print(arr2)
arr3=np.linspace(1,10,5)#对1-10进行5等份
arr_zero=np.zeros((3,4)) #zeros参数是元祖,全为0的数组
print(arr_zero)
arr_one=np.ones((3,3))#全为1的数组
print(arr_one)
arr_eye=np.eye(4,4)#对角线上的数字为1,其他的为0
print(arr_eye)
print(arr_one*100)
#数组的索引和切片
print(list3[1])
print(list3[1][2])
arry1=np.array(list1)
print(arry1[1:3])
arry2=np.array(list4)
print(arry2[1][1:3])
#通用的函数运算
print("sqrt:\n",np.sqrt(arry2))
print("exp:\n",np.exp(arry2))
arry3=np.array(list2)
print(np.maximum(arry1,arry3))#将最大值放在一起,如可以用在RELU大于0保留原值,小于0的取0
list5=[1.1,2,2.33,1.77,1.1,2]
arr5=np.array(list5)
print(np.modf(arr5))#把整数部分和小数部分,生成两个独立的数组
#运算
new_arr1=np.where(arry1>0,'True','False')#if condition:x,y
print(new_arr1)
print(np.unique(list5))#去重复值,并返回已经排序的结果
arry6=np.array(list4)
print(np.unique(arry6))
#数组作为文件来输入和输出
np.save('myarr',arr2)#把数据保存为文件.npy
new_arr2=np.load('myarr.npy')
print("new arr2:\n",new_arr2)
np.savez('myarrzip',a1=arr5,a2=arry1,a3=arry2)#.npz把多个数组保存为文件
arr=np.load('myarrzip.npz')
print(arr['a1'])
#线性代数
#矩阵的合并
list12=[[2,5,0],[11,3,4]]
list13=[[3,-1,8],[9,-3,9]]
arr12=np.array(list12)
arr13=np.array(list13)
print(np.hstack([arr12,arr13]))
print(np.vstack([arr12,arr13]))
#点乘
arr14=arr13.reshape(3,2)
print(arr12.dot(arr14))
#矩阵的转值
print(np.transpose(arr12))
posted on 2018-11-28 10:10  python整理  阅读(125)  评论(0编辑  收藏  举报