1、什么是Pandas
当大家谈论到数据分析时,提及最多的语言就是Python和SQL,而Python之所以适合做数据分析,就是因为他有很多强大的第三方库来协助,pandas就是其中之一,它是基于Numpy构建的,正因pandas的出现,让Python语言也成为使用最广泛而且强大的数据分析环境之一。如果说没有pandas的出现,目前的金融数据分析领域还应该是R语言的天下。
2、Pandas能干什么
Pandas的主要功能:
具备对应其功能的数据结构DataFrame,Series集成时间序列功能提供丰富的数学运算和操作灵活处理缺失数据.....
以上就是pandas能完成的一些基础操作,当然并不完全,下面就来看看pandas到底是怎么用的。
3、怎么用Pandas
安装方法:
pip install pandas
引用方法:
import pandas as pd
3.1、Series
Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成。在数据分析的过程中非常常用。
3.1.1、创建方法
第一种:
pd.Series([4,5,6,7,8])
执行结果:
0 4
1 5
2 6
3 7
4 8
dtype: int64
# 将数组索引以及数组的值打印出来,索引在左,值在右,由于没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引,取值的时候可以通过索引取值,跟之前学过的数组和列表一样
-----------------------------------------------
第二种:
pd.Series([4,5,6,7,8],index=['a','b','c','d','e'])
执行结果:
a 4
b 5
c 6
d 7
e 8
dtype: int64
# 自定义索引,index是一个索引列表,里面包含的是字符串,依然可以通过默认索引取值。
-----------------------------------------------
第三种:
pd.Series({"a":1,"b":2})
执行结果:
a 1
b 2
dtype: int64
# 指定索引
-----------------------------------------------
第四种:
pd.Series(0,index=['a','b','c'])
执行结果:
a 0
b 0
c 0
dtype: int64
# 创建一个值都是0的数组
-----------------------------------------------
对于Series,其实我们可以认为它是一个长度固定且有序的字典,因为它的索引和数据是按位置进行匹配的,像我们会使用字典的上下文,就肯定也会使用Series
3.1.2、缺失数据
dropna() # 过滤掉值为NaN的行fill() # 填充缺失数据isnull() # 返回布尔数组,缺失值对应为Truenotnull() # 返回布尔数组,缺失值对应为False
# 第一步,创建一个字典,通过Series方式创建一个Series对象
st = {"sean":18,"yang":19,"bella":20,"cloud":21}
obj = pd.Series(st)
obj
运行结果:
sean 18
yang 19
bella 20
cloud 21
dtype: int64
------------------------------------------
# 第二步
a = {'sean','yang','cloud','rocky'} # 定义一个索引变量
------------------------------------------
#第三步
obj1 = pd.Series(st,index=a)
obj1 # 将第二步定义的a变量作为索引传入
# 运行结果:
rocky NaN
cloud 21.0
sean 18.0
yang 19.0
dtype: float64
# 因为rocky没有出现在st的键中,所以返回的是缺失值
通过上面的代码演示,对于缺失值已经有了一个简单的了解,接下来就来看看如何判断缺失值
1、
obj1.isnull() # 是缺失值返回Ture
运行结果:
rocky True
cloud False
sean False
yang False
dtype: bool
2、
obj1.notnull() # 不是缺失值返回Ture
运行结果:
rocky False
cloud True
sean True
yang True
dtype: bool
3、过滤缺失值 # 布尔型索引
obj1[obj1.notnull()]
运行结果:
cloud 21.0
yang 19.0
sean 18.0
dtype: float64
3.1.3、Series特性
import numpy as np
import pandas as pd
从ndarray创建Series:Series(arr)
arr = np.arange(10)
sr = pd.Series(arr) # ndarray创建Series
与标量(数字)进行运算:sr * 2
srx = sr * 2 # 与标量(数字)进行运算
两个Series运算
sr * srx # 两个Series运算
布尔值过滤:sr[sr>0]
sr[sr>3] # 布尔值过滤
统