1、pandas概述
pandas
panel data
Python构建
数据操作和分析
开源软件库
数据结构和运算
模拟电子表格
速度快
数据加载
对齐
操作与合并
数据规模大
GB单位
2、pandas工作原理
pandas内置DataFrame
数据框架
支持不同格式的数据源
CSV
JSON
DataFrame
二维数组式数据表
列,行
一系列对象的字典或集合
pandas操作
子集
衍生列
排序
连接
填充
替换
汇总统计
绘图
场景
异构类型列的表格数据,如SQL表或EXCEL电子表格
有序和无序时间序列数据
行列标签的矩阵数据
3、pandas
轻松处理浮点和非浮点数据中的缺失数据(表示为 NaN)
大小易变性:可以从 DataFrame 和更高维度的对象中插入和删除列
自动和显式数据对齐:可以将对象显式对齐到一组标签;或者用户只需忽略标签,让序列、DataFrame 等在计算中自动调整数据
强大、灵活的分组功能,对数据集执行分割-应用-组合操作,进行数据聚合和转换
可轻松将其他 Python 和 Numpy 数据结构中参差不齐、索引不同的数据转换为 DataFrame 对象
大型数据集基于标签的智能切片、精美索引和子集构建
直观的数据集合并与连接
灵活的数据集重塑和旋转
坐标轴的分层标记(每个记号可能具有多个标签)
强大的 I/O 工具,用于加载平面文件(CSV 和分隔文件)、Excel 文件和数据库中的数据,以及保存/加载超快速 HDF5 格式的数据
特定于时间序列的功能:日期范围生成和频率转换、窗口统计数据迁移、日期调整和延迟
4、Series
Series
一维数组的对象
一维数组
数据
数据标签
索引
如果没有提供数据标签即索引,会自动创建一个0到N-1的整数型索引,也称为索引下标
Series = values + index
示例
运行结果
5、DataFrame
DataFrame
表格型的数据结构
包含一组有序的列,每列可以是不同的数据类型
有行索引,也有列索引
Series组成的字典,公用同一个索引
存储结构是一个或多个二维块存储
不是列表
不是字典
不是别的一维数据结构
示例
运行结果
6、索引对象
pandas索引对象
管理轴标签和轴名称
构建DataFrame时,数据或其它序列的标签被转换成一个Index对象
索引对象不可修改
Series和DataFrame中的索引,均是索引对象
示例
运行结果
7、访问与索引
示例
运行结果
运行结果
a 0.775554
b 0.142155
c -1.000090
d 1.371588
e 1.100195
f 0.247216
g -0.698275
h -0.324256
i -1.878088
j 0.871693
k 1.527245
l 1.799806
m -0.177290
n -0.448485
o -0.539379
p -0.530034
dtype: float64
0.7755540431743843
a 0.775554
b 0.142155
c -1.000090
dtype: float64
0.7755540431743843
0.7755540431743843
--------------------------------
a 0.775554
b 0.142155
c -1.000090
d 1.371588
e 1.100195
f 0.247216
g -0.698275
h -0.324256
i -1.878088
j 0.871693
k 1.527245
l 1.799806
m -0.177290
n -0.448485
o -0.539379
p -0.530034
q 666.000000
r 666.000000
s 666.000000
t 666.000000
dtype: float64
a 0.775554
b 0.142155
c -1.000090
d 1.371588
e 1.100195
f 0.247216
g -0.698275
h -0.324256
i -1.878088
j 0.871693
k 1.527245
l 1.799806
m -0.177290
n -0.448485
o -0.539379
p -0.530034
q -0.530034
r -0.530034
s -0.530034
t -0.530034
dtype: float64
a 0.775554
b 0.142155
c -1.000090
d 1.371588
e 1.100195
f 0.247216
g -0.698275
h -0.324256
i -1.878088
j 0.871693
k 1.527245
l 1.799806
m -0.177290
n -0.448485
o -0.539379
p -0.530034
q NaN
r NaN
s NaN
t NaN
dtype: float64
a 0.775554
b 0.142155
c -1.000090
d 1.371588
dtype: float64
--------------------------------
a b c d
0 -2.327724 0.941760 -0.191070 -0.343348
1 -2.157858 0.024083 -1.161059 -0.000259
2 0.465327 1.700753 -0.616983 -0.228065
3 -0.478469 0.263984 0.572611 0.414599
4 0.624138 1.158723 0.255059 0.217472
a b c d
a NaN NaN NaN NaN
b NaN NaN NaN NaN
c NaN NaN NaN NaN
d NaN NaN NaN NaN
e NaN NaN NaN NaN
a b c d e
0 -2.327724 0.941760 -0.191070 -0.343348 NaN
1 -2.157858 0.024083 -1.161059 -0.000259 NaN
2 0.465327 1.700753 -0.616983 -0.228065 NaN
3 -0.478469 0.263984 0.572611 0.414599 NaN
4 0.624138 1.158723 0.255059 0.217472 NaN
a b c d
a NaN NaN NaN NaN
b NaN NaN NaN NaN
c NaN NaN NaN NaN
d NaN NaN NaN NaN
e NaN NaN NaN NaN
a 0
b 1
c 2
d 3
dtype: int32
c 2
d 3
dtype: int32
a b c d
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
3 12 13 14 15
c d
0 2 3
1 6 7
2 10 11
3 14 15
a b c d
2 8 9 10 11
3 12 13 14 15
--------------------------------
a b c d
w 0.343838 -0.243311 -1.595647 -1.713982
x -0.986665 1.220836 -0.125944 0.372096
y -0.967382 0.013282 1.298156 -0.289570
z 0.440129 0.846885 -0.342147 -2.106836
w 0.343838
x -0.986665
y -0.967382
z 0.440129
Name: a, dtype: float64
a b
w 0.343838 -0.243311
x -0.986665 1.220836
y -0.967382 0.013282
z 0.440129 0.846885
a b c d
w 0.343838 -0.243311 -1.595647 -1.713982
x -0.986665 1.220836 -0.125944 0.372096
a 0.343838
b -0.243311
c -1.595647
d -1.713982
Name: w, dtype: float64
a b c d
w 0.343838 -0.243311 -1.595647 -1.713982
x -0.986665 1.220836 -0.125944 0.372096
a b
w 0.343838 -0.243311
x -0.986665 1.220836
y -0.967382 0.013282
a 0.343838
b -0.243311
c -1.595647
d -1.713982
Name: w, dtype: float64
a b c d
w 0.343838 -0.243311 -1.595647 -1.713982
x -0.986665 1.220836 -0.125944 0.372096
a b
w 0.343838 -0.243311
x -0.986665 1.220836
0.343838072538288
0.343838072538288
a b c d
w 0.343838 NaN NaN NaN
x NaN 1.220836 NaN 0.372096
y NaN 0.013282 1.298156 NaN
z 0.440129 0.846885 NaN NaN
a b c d
w 0.343838 NaN NaN NaN
x NaN 1.220836 NaN 0.372096
y NaN 0.013282 1.298156 NaN
z 0.440129 0.846885 NaN NaN
a b c d
w 0.343838 -0.243311 -1.595647 -1.713982
z 0.440129 0.846885 -0.342147 -2.106836
a b c d
w 0.343838 -0.243311 -1.595647 -1.713982
z 0.440129 0.846885 -0.342147 -2.106836
a b c d
z 0.440129 0.846885 -0.342147 -2.106836
a b c d
w 0.343838 -0.243311 -1.595647 -1.713982
x -0.986665 1.220836 -0.125944 0.372096
y -0.967382 0.013282 1.298156 -0.289570
z 0.440129 0.846885 -0.342147 -2.106836
8、常用运算
示例
运行结果
9、函数
示例
运行结果
10、排序、排名与汇总统计
示例
运行结果
11、其它
特征工程(数据特别大,可以丢弃,但数据量少,不能丢失数据,必须填充)
缺失值
值判断
为空处理
丢失数据
值统计
……
示例
运行结果
12、绘图
原理
使用matplotlib模块
方法一:
方法二: