Pandas
什么是Pandas?
Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis)。
Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了 高级数据结构 和 数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。
+ 一个强大的分析和操作大型结构化数据集所需的工具集
+ 基础是NumPy,提供了高性能矩阵的运算
+ 提供了大量能够快速便捷地处理数据的函数和方法
+ 应用于数据挖掘,数据分析
+ 提供数据清洗功能
-
数据结构介绍
在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame。
- 序列Series:
numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其可通过索引标签的方式获取数据,还具有索引的自动对齐功能;
- DataFrame:
类似于numpy中的二维数组,同样可以通用numpy数组的函数和方法,而且还具有其他灵活应用。
Series的创建
序列的创建方式主要有三种方式
- 通过一维数组创建序列
import numpy as np
import pandas as pd
arr=np.arange(10)
print(arr)
s1=pd.Series(arr)
print(s1)
[0 1 2 3 4 5 6 7 8 9]
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
dtype: int64
- 通过字典的方式创建
import numpy as np
import pandas as pd
import string
# 字典推导式
a={string.ascii_uppercase[i]:i for i in range(10)}
print(a)
s2=pd.Series(a)
print(s2)
## index
# 这里的索引就是字典的key
## 重新给其制定其他的索引之后,如果能够对应上,就取值,如果不能,就为Nan
s3=pd.Series(a,index=list(string.ascii_uppercase[5:15]))
print(s3)
## numpy中NaN为float,pandas会自动根据数据类型更改series的dtype
{'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8, 'J': 9}
A 0
B 1
C 2
D 3
E 4
F 5
G 6
H 7
I 8
J 9
dtype: int64
F 5.0
G 6.0
H 7.0
I 8.0
J 9.0
K NaN
L NaN
M NaN
N NaN
O NaN
dtype: float64
-
通过DataFrame中的某一行或某一列创建序列
在后面讲
DataFrame的创建
数据框的创建主要有三种方式:
1. 通过二维数组创建数据框
import numpy as np
import pandas as pd
arr=np.array(np.arange(12)).reshape(4,3)
print(arr)
df1=pd.DataFrame(arr)
print(df1)
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
DataFrame对象既有行索引,又有列索引
行索引,表明不同行,横向索引,叫index,0轴,axis=
列索引,表名不同列,纵向索引,叫columns,1轴,axis=1