Pandas
引言
- Pandas是基于Numpy的一种工具,该工具是为了解决数据分析任务二创建的。
- Pandas纳入了大量库和一些标准的数据模型,提供了高效的操作大学数据及所需的工具
- Pandas提供了大量能使我们快速便捷梳理数据的函数和方法
- Pandas是Python的一个数据分析包,最初于2008年4月开发,2009年底开源
- Pandas最初被作为进入数据分析工具而开发出来,也未试驾序列分析提供了很好的支持。
Pandas库介绍:
-
pandas是python的第三方库,提供高性能易用数据类型和分析工具
-
pandas基于numpy实现,鲳鱼numpy与matplotlib一同使用
-
pandas中有两大核心数据结构:Series(一维数据)和DataFrame(多特征数据,既有行索引,又有列索引)
-
Series
- 一位数组,与numpy中的一维array类似
- Series,numpy中的一维array与python基本的数据结构list也很接近,其区别是:list中的元素可以是不同的数据类型,二array和Series中则只允许存储相同的数据类型
- Series可以更有效的使用内存,提高运行效率
-
Time-Series:以时间为索引的Series
-
DataFrame:带标签且大小可变的二维表格数据结构,可以将DataFrame理解为Series的容器
-
Panel:三维数组,可以理解为DataFrame的容器
Series
- series是一种类似于一位数组的对象,他有一位数组(各种numpy数据类型)以及一组与之相关的标签(索引)组成
Series创建函数
pandas.Series(data, index, dtype, copy)
参数 | 描述 |
---|---|
data | 数据采取各种形式,如:ndarray,list,constants |
index | 索引值必须是唯一的和散列的,与数据的长度相应。默认np.arange(n)如果没有被索引被传递 |
dtype | dtype用于数据类型 如没有,将腿短数据类型 |
copy | 复制数据,默认为false |
Series的创建
- 使用python数组创建
- 使用numpy的数组创建
- 使用python的字典创建
注:与字典不同的是:Series允许索引重复
import pandas as pd
import numpy as np
print(pd.Series([11,12],index=["金华","宁波"]))
>>>金华 11
宁波 12
dtype: int64
print(pd.Series(np.arange(2,6)))
>>>0 2
1 3
2 4
3 5
dtype: int32
print(pd.Series({"金华":11,"宁波":12,"杭州":13}))
>>>金华 11
宁波 12
杭州 13
dtype: int64
- Series的字符串表现形式为:索引在左边,值在右边
- 如果没有微数据指定索引,则自动创建一个0-N-1的整数型索引
- 可以通过Series的values和index属性获取其数据表示形式和索引对象
- 与普通numpy数组相比,可以通过索引的方式选取series中的单个或一组值
obj = pd.Series([4,7,-5,3])
print(obj.values)
>>>[ 4 7 -5 3]
print(obj.index)
>>>RangeIndex(start=0, stop=4, step=1)
print(obj[2])
>>>5
obj[1] = 8
print(obj[[0,1,3]])
>>>0 4
1 8
3 3
dtype: int64
通常我们希望所创建的Series带有一个可以对各个数据点进行标记的索引。
与普通numpy数组相比,可以通过索引的方式选取Series中的单个或一组值
obj2 = pd.Series([14,2