这是我听了两门公开课后整理出来的~~~
numpy的特点:
- 高级的数值编程工具
- 强大的N维数组对象:ndarray
- 对数组结构数据进行运算(不用遍历循环)
- 随机数、线性代数、傅里叶变换功能
现在有一组列表数据,我要计算列表中a的均值,首先将列表转换成数据框
data=[{'a':10,'b':4},
{'a':20,'b':3},
{'a':30,'b':2},
{'a':40,'b':1}]
df=pd.DataFrame(data)
如果我要用pandas计算均值,那得先将a的所有值加起来再除以它的长度,如果用.mean()就可以一步到位,这相当于矩阵计算。相比起来,pandas对于列表计算显得更麻烦,这时候就要引出numpy了
# 1.pandas计算均值
a_sum=0
for i in data:
a_sum += i['a']
print(a_sum/len(data))
# 2.相当于矩阵计算
df.mean()
简要说明一下,numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效。而pandas是基于numpy的数据分析工具,能更方便的操作大型数据集。
在进入numpy的学习之前,先回顾一下之前学过的数据结构有哪些:
# 1. 数值
type(1)
# 2.字符串
type('hello')
# 3.列表
type([1,2,3])
# 4.映射(字典)
type({'a':10})
那么学习numpy要学习哪些内容呢
首先要学习的是numpy的数据结构:ndarray 数组
lst=[12,24,36,48]
import numpy as np
df=np.arary(lst)
猜一猜上面的列表和数组打印出来之后有什么不同?不同之处就在于数组是没有逗号的
接着学习numpy的通用函数
- 可以用data.ndim查看数组的维度,比如下面有三个数组,我想分别知道它们的维度