python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pandas Series的使用

pandas中Series的使用方式

作者:菜鸟长安

这篇文章主要介绍了pandas中Series的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

pandas的应用

pandas的核心数据类型是Series(数据系列)、DataFrame(数据表/数据框),反别用于处理一维和二维的数据。

还有一个Index类型的子类型,它为Series和Dataframe提供了索引功能

创建Series对象

Series对象用来表示一维数据结构,跟数组非常类似,但是多了一些功能。

Series的内部结构包含了两个数组,其中一个用来保存数据,另一个用来保存数据的索引。

还可以使用字典的方式来创建

索引

Series对象也可以进行索引和切片的操作,不同的是Series对象因为内部维护了一个保护索引的数组。

除了可以使用整数索引通过位置检索数据外,还可以通过自己设置的检索标签获取相对应的数据。

第一种,通过位置索引,并修改数据

第二种,使用自定义标签

花式索引

花式索引和普通索引的区别最外一层为方括号[ ]

布尔索引

用来判断列表中数值的范围

Series对象的常用属性

# 求和
print(ser2.sum())
# 求均值
print(ser2.mean())
# 求最大
print(ser2.max())
# 求最小
print(ser2.min())
# 计数
print(ser2.count())
# 求标准差
print(ser2.std())
# 求方差
print(ser2.var())
# 求中位数
print(ser2.median())

describe()方法

describe()方法:可以获得上述所有的描述性统计信息,如方差,标准差,中位数等等

对于某一特定的值,也可以通过索引的方式获得

value_count()方法

如果想要统计每个值重复的次数,可以使用value_counts()方法,这个方法会返回一个Series对象,它的索引就是原来的Series对象中的值,而每个值出现的次数就是返回的Series对象中的数据,在默认情况下会按照出现次数做降序排列。

ser3 = pd.Series(data=['apple', 'banana', 'apple', 'pitaya', 'apple', 'pitaya', 'durian'])
ser3.value_counts()

unique() 方法

如果Series对象有重复的值,我们可以使用unique()方法获得去重之后的Series对象;

可以使用nunique()方法统计不重复值的数量 数据处理的方法。

isnull()和notnull()

Series对象的isnull()和notnull()方法可以用于空值的判断

dropna()和fillna()分别用来删除空值和填充空值

dropna()和fillna()方法都有一个名为inplace的参数,它的默认值是False,表示删除空值或填充空值不会修改原来的Series对象,而是返回一个新的Series对象来表示删除或填充空值后的数据系列,如果将inplace参数的值修改为True,那么删除或填充空值会就地操作,直接修改原来的Series对象,那么方法的返回值是None。

后面我们会接触到的很多方法,包括DataFrame对象的很多方法都会有这个参数,它们的意义跟这里是一样的。

mask()和where()

duplicated()和drop_duplicates()

apply()和map()

map()可以不通过索引,直接通过内容来进行修改数据

apply()可以将原始值通过一定的计算,得到想要的数组

排序和取头部值的方法

Series对象的sort_index()和sort_values()方法可以用于对索引和数据的排序,排序方法有一个名为ascending的布尔类型参数,该参数用于控制排序的结果是升序还是降序;

而名为kind的参数则用来控制排序使用的算法,默认使用了quicksort,也可以选择mergesort或heapsort;

如果存在空值,那么可以用na_position参数空值放在最前还是最后,默认是last

- 取头部

如果要从Series对象中找出元素中最大或最小的“Top-N”,实际上是不需要对所有的值进行排序的,可以使用nlargest()和nsmallest()方法来完成

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文