Python可视化数据分析05、Pandas数据分析
Python可视化数据分析05、Pandas数据分析
📋前言📋
💝博客:【
】💝✍本文由在下【红目香薰】原创,首发于CSDN✍
🤗2022年最大愿望:【服务百万技术人次】🤗
💝Python初始环境地址:【
】💝
环境需求
环境:win10
开发工具:PyCharm Community Edition 2021.2
数据库:MySQL5.6
目录
DataFrame对象的sum()函数,返回一个含有列小计的Series对象
Pandas介绍
Pandas是Python的一个数据分析包,是基于NumPy的一种工具。
Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。
使用Pandas,需要先熟悉它的两个主要数据结构:Series和DataFrame,它们为大多数应用提供了一种可靠、易于使用的基础。
Series
Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签(索引)组成,创建Series对象的语法如下:
Demo1:
Series对象的特性:
- 可以通过索引的方式选取Series中的单个或一组值。
- 对Series对象进行NumPy数组运算,都会保留索引和值之间的连接。
- 将Series看成是一个定长的有序字典,因为它是一个索引值到数据值的一个映射。
- 如果Series的值中出现NaN,可以利用Pandas模块中提供的isnull()和notnull()函数进行判断。
- 在算数运算中会自动对齐不同索引的数据。
- Series对象本身及其索引都有一个name属性,该属性跟Pandas其他的关键功能的关系非常密切。
- Series的索引可以通过赋值的方式修改。如果对象中有4个数据,索引赋值时也必须保证索引中有4个元素。
8
2
a 8
c -5
d 2
dtype: int64
a 8
b 6
d 2
dtype: int64
a 16
b 12
c -10
d 4
dtype: int64
True
a 23
b 12
c 8
dtype: int64
a False
b False
c False
d False
dtype: bool
a 16.0
b 12.0
c NaN
d NaN
e NaN
dtype: float64
state
a 8
b 6
c -5
d 2
Name: population, dtype: int64
f 8
g 6
k -5
m 2
Name: population, dtype: int64
DataFrame
DataFrame是一种类似电子表格的数据结构。它包含一个经过排序的列表集,列表集中的每个数据都可以有不同的类型值(数字、字符串、布尔等)。
Datarame有行和列的索引;它可以被看作是一个Series的字典(每个Series共享一个索引)。
创建DataFrame对象
操作DataFrame对象中列
在DataFrame对象中使用columns属性获取所有的列,并显示所有列的名称
DataFrame对象的每竖列都是一个Series对象
DataFrame对象中values属性
values属性会以二维Ndarray的形式返回DataFrame中的数据
如果DataFrame各列的数据类型不同,则值数组的数据类型就会选用能兼容所有列的数据
Pandas索引对象
Index类的函数列表见下表:
函数 |
属性 |
append |
链接另一个Index对象,产生一个新的Index |
diff |
计算差集,并得到一个Index对象 |
intersection |
计算交集 |
union |
计算并集 |
isin |
计算一个指示各值是否都包含在参数集合中的布尔型数组 |
delete |
删除索引指定位置的元素,并得到新的Index |
drop |
删除传入的值,并得到新的Index |
insert |
将元素插入到索引指定位置处,并得到新的Index |
is_monotonic |
当各元素均大于等于前一个元素时,返回True |
is_unique |
将Index没有重复值时,返回True |
unique |
返回Index中唯一的数组 |
Series对象和DateFrame对象中的索引值不只是整数,还可以是字符串。
1
1
c 2
d 3
dtype: int32
a 0
d 3
dtype: int32
a 0
b 5
c 5
d 3
dtype: int32
Ohio Texas California
a 0 1 2
c 3 4 5
d 6 7 8
a 0
c 3
d 6
Name: Ohio, dtype: int32
Texas California
a 1 2
c 4 5
d 7 8
Ohio Texas California
a 0 1 2
c 3 4 5
Ohio Texas California
c 3 4 5
d 6 7 8
Ohio Texas California
a True True True
c True True False
d False False False
Ohio Texas California
a 0 0 0
c 0 0 5
d 6 7 8
索引对象相同的Pandas对象之间的算术运算
Pandas还提供了sub()函数用于减法,div()函数用于除法,mul()函数用于乘法
a 5.2
c -3.5
d NaN
e 5.6
f NaN
f NaN
dtype: float64
b c d
Ohio 0 1 2
Texas 3 4 5
Colorado 6 7 8 b d e
Oregon 0 1 2
Ohio 3 4 5
Texas 6 7 8
Colorado 9 10 11
b c d e
Colorado 15.0 NaN 18.0 NaN
Ohio 3.0 NaN 6.0 NaN
Oregon NaN NaN NaN NaN
Texas 9.0 NaN 12.0 NaN
b c d e
Colorado 15.0 7.0 18.0 11.0
Ohio 3.0 1.0 6.0 5.0
Oregon 0.0 NaN 1.0 2.0
Texas 9.0 4.0 12.0 8.0
在Pandas中应用lambda表达式
Pandas排序
a 1
b 2
c 3
d 0
dtype: int64
4 6 5
a 3 4 5
c 0 1 2
d 6 7 8
4 5 6
c 0 2 1
a 3 5 4
d 6 8 7
6 5 4
c 1 2 0
a 4 5 3
d 7 8 6
b a
1 -3 6
3 2 3
0 4 1
2 7 5
b a
0 4 1
3 2 3
2 7 5
1 -3 6
0 4.0
1 1.0
2 3.0
3 2.0
4 5.0
dtype: float64
0 4.0
1 1.0
2 3.0
3 2.0
4 5.0
dtype: float64
Pandas统计
统计函数 |
功能说明 |
count |
非NaN值的数量 |
describe |
针对Series或DataFrame的列计算汇总统计 |
min,max |
最小值和最大值 |
argmin,argmax |
最小值和最大值的索引位置(整数) |
idxmin,idxmax |
最小值和最大值的索引值 |
quantile |
样本分位数(0到1) |
sum |
求和 |
mean |
均值 |
median |
中位数 |
mad |
根据均值计算平均绝对离差 |
var |
方差 |
std |
标准差 |
skew |
样本值的偏度(三阶矩) |
kurt |
样本值的峰度(四阶矩) |
cumsum |
样本值的累计和 |
cummin,cummax |
样本值的累计最大值和累计最小值 |
cumprod |
样本值的累计积 |
diff |
计算一阶差分(对时间序列很有用) |
pct_change |
计算百分数变化 |
DataFrame对象的sum()函数,返回一个含有列小计的Series对象
数据消重、频率统计和数据包含判断
缺失数据处理
缺失数据在大部分数据分析应用中都很常见,Pandas的设计目标之一就是让缺失数据的处理任务尽量轻松
Pandas使用浮点值NaN(Not a umber)表示浮点和非浮点数组中的缺失数据
Pandas提供了专门的处理缺失数据的函数:
函数 |
说明 |
dropna |
根据各标签的值中是否存在缺失数据对轴标签进行过滤 |
fillna |
用指定值或插值函数填充缺失数据 |
isnull |
返回一个含有布尔值的对象,这些布尔值表示哪些值是缺失值 |
notnull |
返回一个含有布尔值的对象,这些布尔值表示哪些值不是缺失值 |
- 点赞
- 收藏
- 关注作者
评论(0)