022 pandas数据分析基础知识

Pandas

  • 什么是Pandas
    Pandas是python中分析结构化数据的工具集。其基础是numpy——高性能矩阵运算;图形库matplotlib——提供数据可视化。
  • Pandas能做什么
    pandas可以进行结构化数据分析,比如进行数据挖掘。

Ipython开发环境搭建

https://www.python.org/downloads/ (https://www.python.org/downloads/)
首先需要下载python的安装包,安装python(3.x版本都可以)
接着在http://jupyter.org/ (http://jupyter.org/)中下载开发需要的库和包,也可以通过命令行进行安装:
pip install jupyter
pip install numpy
pip install matplotlib

Windows需要额外安装 pyreadline: pip install pyreadline

Ipython技巧

python命令行与ipython命令行的区别:

  1. 显示的数据可读性更强
  2. ipython的命令行有命令补全的功能
  3. ipython命令属于shell命令
    大部分直接可工作cd,ls,pwd
    少部分可以在前面加上!号:!rename(重命名)
  4. 魔术命令
    %run命令:执行程序
    %timeit命名:计时工具
    %quickref命令:显示快速参考文档
    %magic命令:显示魔术命令列表和文档

一些常用命令

!echo是指直接执行shell中的命令

a = np.random.randn(100,100)#创建100*100的矩阵
%timeit a.dot(a)#timeit查看代码执行实时效率,这里执行的操作是点乘

ipython notebook

在web上进行探索性编程,内联图片显示。

  • web上的ipython
  • 显示内联图片
  • 导出数据和分析过程
    %pwd可以查看当前文件的目录
    os.listdir?可以查看ipython的帮助文档

Pandas快速入门

可以通过网站10 Minutes to pandas
http://pandas.pydata.org/pandas-docs/stable/10min.html 来了解和学习。

numpy

numpy是高性能科学计算和数据分析的基础包,是面向数组的思维模式。pandas就是在numpy的基础上发展而来的。

ndarray
  • 是多维数组
  • 是关于多维数组的运算
创建

numpy创建一维数组
在这里插入图片描述
numpy创建二维数组
在这里插入图片描述
可以看到,不管是在一维数组或是二维数组中,数组元素的修改都可以直接按照索引找到并赋值,即可修改。
还有另一种创建数组的方式:
在这里插入图片描述
numpy中的reshape函数没有copy数据,只是修改了数据的视图:
在这里插入图片描述
data和data2是视图不同的两个数组,如果修改data,data2中的数据也会发生改变,因为数据不是copy的,而只是引用的。
在这里插入图片描述
由以上测试可知,reshape函数可以返回指定维度的数组,但是数据是引用的而不是copy的。

内置函数创建特殊数组
在这里插入图片描述
第一个参数表示矩阵中元组的个数。zeros函数表示生成一个全为0的矩阵。
创建一个三维数组,且数组元素全为1:
在这里插入图片描述
创建对角数组
在这里插入图片描述
reshape将数组转换成我们需要的数组np.arange(16).reshape(4,4),将从0到15元素组成的序列转换成4x4的一个数组。

数据索引

在这里插入图片描述

可以通过下标索引直接对数组元素进行赋值:

在这里插入图片描述
二维数组的索引
在这里插入图片描述
想要访问数组的列,就需要用另一种表示

data[:.2:4]#打印4x4矩阵中下标为2开始到4之前的列元素
data[1:3,2:$]#打印矩阵中下标1开始到下标3之前且下标2开始到下标4之前的行列元素

直接访问数组元素
在这里插入图片描述
布尔类型访问矩阵
在这里插入图片描述
上述是分解写法,还可以写作:

data[data>10]

将数组中的偶数元素,构成新的数组

在这里插入图片描述
矩阵内积

x = np.arange(1,5).reshape(2,2)
y = np.arange(5.9).reshape(2,2)
x.dot(y)#矩阵内积
x*y#矩阵逐个元素之间的乘法
x/y#矩阵除法
y = np.sin(x)#可以画出xy的图像
np.linespace(1,10)#linespace从区间中去划分
x = np.linespace(0,2*np.pi,num = 50)#可以指定分为几等份
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值