# -*- coding: utf-8 -*-
"""
Created on Tue Oct 23 10:29:16 2018
@author: lishuwei
"""
import numpy as np
#读取文件及其求助
data=np.genfromtxt("E:\\dl\\TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10-master\\images\\train_labels.csv",delimiter=",",dtype=str)
print(type(data))
print(data)
print(help(np.genfromtxt))
#arrray使用
vector=np.array([1,2,3,4])
matrix=np.array([[1,2,23],[1,5,9],[2,5,9]])
print(vector.shape)
print(matrix.shape)
#numpy。array格式要求
data=np.array([1,2,3,4])
data=np.array([1,2,3,'4.0'])
print(data.dtype)
#数据基本操作;截取
data=np.array([1,2,3,4])
vector=data[0:2]
print(vector)
vector=(data==2)
print(vector)
print(data[vector])
matrix=np.array([[1,2,23],[1,5,9],[2,5,9]])
data=matrix[:,2]
print(data)
vector=(matrix[:,1]==2)
print(vector)
print(matrix[vector,1])
#矩阵运算
data=np.array([5,10,15,20])
vector=(data==5)&(data==10)
print(vector)
vector=(data==5)|(data==10)
print(vector)
print(data.min())
print(data.max())
matrix=np.array([[1,2,23],[1,5,9],[2,5,9]])
print(matrix.sum(axis=1)) #按照行
print(matrix.sum(axis=1)) #按照列
#常用函数
data=np.array([5,10,15,20])
print(data.reshape(2,2))
print(data.ndim)
print(data.size)
print(np.zeros((3,4)))
print(np.ones((3,4),dtype=np.int32))
print(np.arange(10,30,5).reshape(2,2))
print(np.random.random((3,4)))
print(np.linspace(0,6.28,100))
print("打印sin值:")
print(np.sin(np.linspace(0,6.28,100)))
print(np.arange(10)) #默认从0开始
#数学运算
a=np.array([5,10,15,20])
b=np.arange(4)
c=a-b
print(c)
print(c-1)
print(b**2)
print(a<45)
A=np.array([[1,1],[0,1]])
B=np.array([[1,0],[0,1]])
print(A*B)
print(A.dot(B))
matrix=np.array ([[1,2,23],[1,5,9],[2,5,9]])
data=matrix.ravel()
print(matrix.ravel
data.shape=(3,-1)
print(data)
#矩阵拼接
A=np.array([[1,1],[0,1]])
B=np.array([[1,0],[0,1]])
print(A)
print(B)
print(np.hstack((A,B))) #横
print(np.vstack((A,B))) #列
#矩阵切分
a=np.random.random((2,12))*10
print(np.hsplit(a,3)) #均分三份
print(np.hsplit(a,(3,4))) #指定到位
#复制操作
b=a
print(id(a))
print(id(b))
b=np.copy(a)
print(id(a))
print(id(b))
#数据扩展
a=np.array([[1,1],[0,1]])
print(np.tile(a,(3,5)))
print(np.sort(a,axis=1))
a=np.array([5,10,1,20])
b=np.argsort(a)
print(b)
print(a[b])