目录
Pandas是什么?Pandas是一款开放源码的BSD许可的Python库,具有很强的数据分析和数据挖掘的工具集。而且Pandas还可以和数据可视化工具Matplotlib很好的整合在一起实现数据可视化。它主要应用于金融,经济,统计,分析等学术和商业领域。
Pandas的主要的数据结构:Series和DataFrame
1.Series:是一种能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组,它是由这一维数组以及一组与之相关的数据标签(即索引)组成。
2.DataFrame:是二维数据结构,即数据以行和列的表格方式排列。每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。可以视为 SQL 表或电子表格数据表示。
Pandas的序列化Series
Pandas中的Series对象是一个一维数据结构,和数组非常相似,但也有一些额外的功能。Series
的内部结构是由两个数组组成,一个是存放数据的数组,另外一个是存放索引的数据。
创建Series对象
函数创建函数如下:
pandas.Series( data, index, dtype, copy)
参数说明:
data:
数据采取各种形式,如:ndarray,list,constants。如果为空则是一个空序列
index:
索引值必须是唯一的和散列的,与数据的长度相同。 默认np.arange(n)如果没有索引被传递。
dtype:
dtype用于数据类型。如果没有,将推断数据类型
copy:
复制数据,默认为false。
代码如下:
import pandas as pd
# data参数表示数据,index参数表示数据的索引(标签)
# 如果没有指定index属性,默认使用数字索引
ser1 = pd.Series(data=[30, 10, 3], index=['一', '二', '三'])
# 字典中的键就是数据的索引(标签),字典中的值就是数据
ser2 = pd.Series({'一': 30, '二': 10, '三': 3})
ser1
ser2
运行结果如下:
Series访问数据的方法--索引和切片
Series对象访问方法和python的数组一样,也有索引和切片操作,但不同的是Series对象内部有一个保存索引,所以除了可以使用整数索引通过位置检索数据外,还可以通过自己设置的索引标签获取对应的数据。但是如果要使用负向索引,在创建Series
对象时必须通过index
属性指定非数值类型的标签,不然会出错。常用的索引和切片如下:
1. 使用整数索引
2.使用自定义的标签索引
3.切片操作
4.花式索引
5.布尔索引
代码如下:
import pandas as pd
ser1 = pd.Series(data=[30, 10, 3], index=['一', '二', '三'])
ser2 = pd.Series(data=[40, 100, 35], index=[2, 3, 4])
ser1[0] #使用整数索引
ser1[-1]
#ser2[1] #会报错
#ser2[-1] #会报错
ser1['一'] #使用自定义的标签索引
ser1[1:3] #切片操作
ser1[['一','三']] #花式索引
ser1[ser1>=10] #布尔索引
运行结果:
Series属性和方法
Series对象的常用属性:
Series常用的方法
Series对象的常用方法:
例子如下:
import pandas as pd
import numpy as np
ser1 = pd.Series(data=[30, 10, 3], index=['一', '二', '三'])
ser2 = pd.Series(data=[40,np.NaN, 35], index=[2, 3, 4])
# 求和
print(ser2.sum())
# 求均值
print(ser2.mean())
# 求最大
print(ser2.max())
# 求最小
print(ser2.min())
# 计数
print(ser2.count())
# 求标准差
print(ser2.std())
# 求方差
print(ser2.var())
# 求中位数
print(ser2.median())
print(ser2.sort_values())
print(ser2.nlargest(2))
# backfill或bfill表示用后一个元素的值填充空值
# ffill或pad表示用前一个元素的值填充空值
ser1.fillna(method='ffill')
运行结果:
总结
我们主要介绍了pandas当中‘Series’对象的经常使用的一些知识点和方法,熟练掌握对于我们搞定数据分析非常有帮助。对于另外一个重要的数据结构‘DataFrame’会在下个章节介绍,谢谢阅读~觉得能帮助到您,可以点个赞,关注一下哈~谢谢~