numpy入门

读取文件:

 使用numpy的genfromtxt()函数来读取该文件,delimiter参数是用来指定每一行用来分隔数据的分隔符

numpy入门

这是因为numpy在读取元素时,默认是按照float格式来读取的,对于不能转换为float类型的数据会读取为nan(not a number),对于留空的数据则显示为na(not available),为了正确的读取数据,可以通过增加参数:

  1. dtype参数用来指定读取数据的格式,这里的U75表示将每一个数据都读取为75个byte的unicode数据格式
  2. skip_header参数用来跳过文件的第一行
  3. delimiter参数用来指定每行数据的分隔符
numpy入门


数组:

可以通过array()函数来创建一个数组,在这里向量指的是变量只有一个列表,矩阵指的是具有多个列表的列表

创建一个向量:vector = numpy.array([10, 20, 30])

创建一个矩阵:matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])


数组的属性:

numpy入门


数据类型大致有以下几种:

  1. bool -- 布尔类型,True或者False
  2. int -- 整型,分为int16, int32, int64,后面的数字表明数值的长度
  3. float -- 浮点型,分为float16, float32, float64,后面的数字表明数值的长度
  4. string -- 字符串类型,分为string或者unicode,它们的差异在于存储字符的方式


索引和分片:

numpy入门


数组比较:将数组和每个数比较,然后返回bool值

numpy入门

数组比较的用处:

一、用来选择数组或矩阵中的元素

numpy入门

二、替换元素

  numpy入门

数据类型转换

numpy入门


矩阵操作:

arange(15)      

[0,1,...,14]

numpy入门


numpy入门


numpy入门


numpy入门

矩阵乘 dot函数,对应元素乘*

 numpy入门


numpy入门


总结

使用numpy的比直接对一个列表集合的运算更加方便,主要优于以下几点:

  1. 更容易对数据进行计算
  2. 可以快速地进行数据索引和分片
  3. 可以快速地转换数据类型

然而,numpy有一些不足之处:

  1. 在同一个数据集中的数据必须具有相同的数据类型,在处理多数据集时会变得很困难
  2. 行和列都需要使用数字来索引,而不能使用别名,这样容易造成混淆

 

而Pandas解决了Numpy的几点不足