一、numpy包的文件使用
读取txt文件数据,和三个操作
二、数组与矩阵
数组函数:
import numpy
vector = numpy.array([5,10,15,20])
矩阵函数:
import numpy
matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])
查看属性,行数和列数:
import numpy
vector = numpy.array([5,10,15,20])
print(vector.shape)
输出:(4,)
matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])
print(matrix.shape)
输出:(3, 3)
1.跳过指定行数:如首行
numpy.genfromtxt(...,skip_header = 1)
2.对数组列表切片
import numpy
numbers = numpy.array([1,2,3,4])
print(numbers[0:3])
输出:[1 2 3]//索引从0开始,取到元素3
3.输出文件中的指定元素
变量 = 文件名[_,_] //索引
print 变量
4.输出指定列,可以使用切片
import numpy
matrix = numpy.array([
[5,10,15],
[20,25,30],
[35,40,45]]
)
print(matrix[:,1])
输出:[10 25 40]
5.判断数据中是否有指定元素
//1
import numpy
vector = numpy.array([5,10,15,20])
vector == 10
输出:array([False, True, False, False])
//2
matrix = numpy.array([
[5,10,15],
[20,25,30],
[35,40,45]]
)
matrix == 40
输出:array([[False, False, False],
[False, False, False],
[False, True, False]])
6.bool 类型的值当索引,打印指定元素所在的行
import numpy
matrix = numpy.array([
[5,10,15],
[20,25,30],
[35,40,45]]
)
a = (matrix[:,1] ==25)
print (a)
print (matrix[a,:])
输出:[False True False]
[[20 25 30]]
7.数据类型转换,string --> float 以及求极值
import numpy
vector = numpy.array(["1","2","3","4"])
print (vector.dtype)
print (vector)
vector = vector.astype(float)
print (vector.dtype)
print (vector)
vector.min()
输出:<U1
['1' '2' '3' '4']
float64
[1. 2. 3. 4.]
1.0
8.按行求和,按列求和
import numpy
matrix = numpy.array([
[5,10,15],
[20,25,30],
[35,40,45]]
)
print (matrix.sum(axis = 1)) //按行求和
print (matrix.sum(axis = 0)) //按列求和
输出:[ 30 75 120]
[60 75 90]
注意:
1.在使用 numpy.array() 函数时,方法体中 list 结构里的元素类型最好一致,否则会自动转换为通用的格式
2.查看元素类型用 XXX.dtype 方法