首页  /  人工智能  /  数据分析之-numpy(一)

数据分析之-numpy(一)

 作者:白驹    来源:    浏览:362    日期:2021年5月8日  

数据分析

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

数据分析常用库

1.numpy 基础数值算法
2.scipy 科学计算
3.matplotlib 数据可视化
4.pandas 序列高级函数

numpy概述

1.Numerical python ,数值的python,补充了python语言所欠缺的数值计算能力。
2.numpy是其他据分析及机器学习的底层库。
3.Numpy完全标准的c语言实现,运行小路充分优化。
4.Numpy开源免费。

numpy的核心:多维数组

1.代码简洁:减少python代码中的循环
2.底层实现:c内核+python接口,保证性能

numpy基础

ndarray类的对象表示n维数组

import numpy as np
ary = np.array([1,2,3,4,5,6])
print(type(ary))

内存中的ndarray对象

元数据(metadata)

储存对目标数组的描述信息,如:dim count、dimensions、dtype、data等

实际数据

完整数组数据
将是继数据与元数据分开存放,一方面提高了内存空间的使用率,另一方面减少对实际数据的访问频率,提高性能。

ndarray数组对象的特点

1.Numpy数组是同质数组,即所有元素的数据类型必须相同。
2.Numpy数组的下标从0开始,最后一个元素的下标为数组的长度减1。

ndarray数组对象的创建

np.array(任何可被解释为Numpy数组的逻辑结构)
import numpy as np
a = np.array([1,2,3,4,5,6])
print(a) #运行结果[1 2 3 4 5 6]
np.arange(起始值[默认1],终止值,步长[默认1])
import numpy as np
a = np.arange(0,5,1)
print(a)  #运行结果[0 1 2 3 4]
np.zeros(数组元素个数,dtype='类型[int,float,bool...]')
import numpy as np
a = np.zeros(10)
print(a)   #运行结果[0 0 0 0 0 0 0 0 0 0]
np.ones(数组元素个数,dtype='类型[int,float,bool...]')
import numpy as np
a = np.ones(10)
print(a)  #运行结果[1 1 1 1 1 1 1 1 1 1]

对象属性的基本操作

数组的维度 np.ndarray.shape

import numpy as np
ary = np.array([1,2,3,4,5,6])
print(type(ary),ary,ary.shape) #运行结果 <class 'numpy.ndarray'> [1 2 3 4 5 6] (6,)
#修改shape
ary.shape =(2,3)
print(ary) #运行结果 [[1 2 3],[4 5 6]]

数组的维度 np.ndarray.dtype

import numpy as np
ary = np.array([1,2,3,4,5,6])
print(type(ary),ary,ary.dtype) #运行结果 <class 'numpy.ndarray'> [1 2 3 4 5 6] int32 [*注意:dtype不一定是int32不同版本分配内存不同]
#转换ary元素的类型 
b = ary.astype(float)
print(type(b),b,b.dtype) #运行结果 <class 'numpy.ndarray'> [1. 2. 3. 4. 5. 6.] float64
#转换ary元素的类型
b = ary.astype(str)
print(type(b),b,b.dtype) #运行结果 <class 'numpy.ndarray'> ['1' '2' '3' '4' '5' '6'] <U11

数组的维度 np.ndarray.size

import numpy as np
ary = np.array([
    [1,2,3,4],
    [5,6,7,8]
])
print(ary.shape,ary.size,len(ary)) #运行结果 (2, 4) 8 2

数组的维度下标操作(基本与列表操作方式相同)

import numpy as np
a = np.arange(1,19)
a.shape = (3,2,3)
print(a)
print(a[0][1][0])  #运行结果4
print(a[0,1,0])    #运行结果4
"""
运行结果
[[[ 1  2  3]
  [ 4  5  6]]

 [[ 7  8  9]
  [10 11 12]]

 [[13 14 15]
  [16 17 18]]]
"""
  • 评论
  • 相关评论
12345678
回复    删除