一,Pandas的数据结构分析Pandas的数据结构分析:
1,Pandas中有两个主要的数据结构:
Series(一维的数据结构)
DataFrame(二维的、表格型的数据结构)
2,Series是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构
3,创建Series类
1),基本公式:
class pandas.Series(data = None,index = None,dtype = None,name = None,copy = False,fastpath = False)
2),通过传入一个列表,字典来创建一个Series类对象
# 使用list进行构建
data1 = pd.Series([1,2,3])
# 创建Series类对象,并指定索引
data2 = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
#使用dict进行构建
dict = {2001: 17.8, 2002: 20.1, 2003: 16.5}
data3 = pd.Series(dict)
3),为了能方便地操作Series对象中的索引和数据,所以该对象提供了两个属性index和values分别进行获取
data = pd.Series([1,2,3])
data.index #获取索引并查看数据类型
data.values #获取数据
#直接使用索引来获取数据
data[3]
4),当某个索引对应的数据进行运算以后,其运算的结果会替换原数据,仍然与这个索引保持着对应的关系。
4,创建DataFrame类
1),DataFrame是一个类似于二维数组或表格(如excel)的对象,它每列的数据可以是不同的数据类型。
2),基本公式
pandas.DataFrame(data = None,index = None,columns = None,dtype = None,copy = False )
3),创建DataFrame类对象
# 创建数组
arr = np.array([['a', 'b', 'c'], ['d', 'e', 'f']])
# 基于数组创建DataFrame对象
data1 = pd.DataFrame(arr)
#指定索引
data2 = pd.DataFrame(arr, columns=['No1', 'No2', 'No3'])
4)获取数据
使用列索引的方式来获取一列数据,返回的结果是一个Series对象
# 通过列索引的方式获取一列数据
element = data2['No2']
# 查看返回结果的类型
type(element1)
访问属性的方式来获取一列数据,返回的结果是一个Series对象
# 通过属性获取
element2 = data2.No2
# 查看返回结果的类型
type(element2)
5),DataFrame增加,删除一列数据
# 增加No4一列数据
data['No4'] = ['g', 'h']
del data['No4']
二,Pandas索引操作及高级索引
1,pd中的索引都是Index类对象
Index类对象,又称为索引对象,该对象是不可以进行修改的,以保障数据的安全
Pandas还提供了很多Index的子类,常见的有如下几种:
(1)Int64Index:针对整数的特殊Index对象。
(2)MultiIndex:层次化索引,表示单个轴上的多层索引。
(3)DatetimeIndex:存储纳秒寄时间戳。
2,reindex()方法
该方法的作用是对原索引和新索引进行匹配,也就是说,新索引含有原索引的数据,而