Python数据分析及可视化实例之Numpy

发布时间:2021-12-03 公开文章

本节及下一节Scipy是数据分析绕不过去的基础,

虽说Pandas大体上可以完成绝大多数清洗工作,

但还是有必要做个简单的介绍:

 

 

 

 

学习源码:

# coding: utf-8

# # Numpy基本概念

# In[1]:

from numpy import *


# ## 数组操作

# In[2]:

a = [1, 2, 3, 4]
a = array(a)
a + 1


# In[3]:

b = array([2, 3, 4, 5])
a + b


# In[4]:

a * b


# In[5]:

a ** b


# ## 数组属性

# In[6]:

type(a)
a.dtype


# In[7]:

# 1维数组,返回一个元组
a.shape


# In[8]:

a.size #查看元素数目


# In[9]:

a.nbytes #查看所有元素所占的存储空间


# In[10]:

a.ndim # 查看数组维数


# ## 索引与切片

# In[11]:

a = array([0, 1, 2, 3])
a[0]


# In[12]:

a[0] = 10
a


# In[13]:

a = array([[ 0, 1, 2, 3],
           [10,11,12,13]])
a


# In[14]:

a[1, 3] # 行列式


# In[15]:

a = array([[ 0, 1, 2, 3, 4, 5],
           [10,11,12,13,14,15],
           [20,21,22,23,24,25],
           [30,31,32,33,34,35],
           [40,41,42,43,44,45],
           [50,51,52,53,54,55]])
a


# In[16]:

a[0, 3:5]


# In[17]:

a[4:, 4:]


# In[19]:

a[:, 2] # 取某一列,以后在Pandas更容易


# ## 指定数组类型

# In[25]:

a = array([1.5, -3], 
         dtype=float32)


# In[26]:

a.dtype


# In[27]:

asarray(a, dtype=float64)
a.dtype


# In[28]:

a.astype(float64)
a.dtype


# # 数组方法

# ## 求和

# In[29]:

a = array([[1,2,3], 
           [4,5,6]])
sum(a)


# In[30]:

sum(a, axis=0) # 列求和


# In[31]:

sum(a, axis=-1) # 行求和


# ## 求最大最小值均值等统计参数

# In[32]:

from numpy.random import rand
a = rand(3, 4)
get_ipython().magic('precision 3')
a


# In[33]:

a.min()


# In[34]:

a.min(axis=0)


# In[35]:

a.mean()


# In[36]:

a.mean(axis=1)


# In[38]:

# 标准差
a.std(axis=1)


# In[39]:

# 方差
a.var(axis=1)


# In[40]:

a = array([1.35, 2.5, 1.5])
a.round() # 取整


# In[41]:

a.round(decimals=1) # 保留一位小数


# # 关于Numpy其他高级操作自行学习