Pandas是什么?
Pandas是数据分析的核心工具包,基于Numpy创建,为数据分析而存在。
- 一维数组Series + 二维数组Dataframe
- 可直接读取数据并做处理(高效简单)
- 兼容各种数据库
- 支持各种分析方法
Pandas基本数据结构-Series的基本概念
先举个栗子:1
2
3
4
5
6
7
8
9
10
11
12ar = np.random.rand(5)
s = pd.Series(ar)
print(ar)
print(s,type(s))
>>>
[0.1206055 0.83147658 0.88649587 0.2162775 0.31466148]
0 0.120605
1 0.831477
2 0.886496
3 0.216277
4 0.314661
dtype: float64 <class 'pandas.core.series.Series'>
在这里可以看到这里的Series相比与之前学习的ndarray是一个自带索引index的数组 = 一维的数组 + 对应的索引,当pd.Series单单只看values时就是一个ndarray。
在具体操作方面,Series和ndarray基本相似,包括索引切片的操作差别并不大。
Pandas基本数据结构-Series的创建方法
字典创建Series
1 | # 字典创建Series |
数组创建Series
1 | # 数组创建Series |
Series的参数设置
我们可以通过指定Series的index以及dtype参数创建符合我们要求的Series。1
2
3
4
5
6# Series的参数设置
s = pd.Series(arr,index=list('abcde'),dtype=np.int,name=test)
print(s)
# index参数:设置index,长度保持一致
# dtype参数:设置数值类型
# 那么参数:设置名称
通过标量创建Series
1 | s = pd.Series(arr,index=np.arange(5)) |
Pandas基本数据结构-Series的索引
位置下标索引
位置下标从0开始,索引结果为numpy.float格式并且可以通过float()格式转换为float格式,且位置下标索引是没有负数的。1
2
3
4
5
6
7
8
9
10
11
12
13s = pd.Series(np.random.rand(5))
print(s)
print(s[0],type(s[0]),s[0].dtype)
print(float(s[0]),type(float(s[0])))
>>>
0 0.495361
1 0.152195
2 0.217591
3 0.748394
4 0.093389
dtype: float64
0.49536125725281055 <class 'numpy.float64'> float64
0.49536125725281055 <class 'float'>
标签索引
1 | # 标签索引 |
切片索引
1 | s1 = pd.Series(np.random.rand(5)) |
布尔型索引
1 |
|