pandas中Series的使用方式

 更新时间:2023年09月15日 15:40:37   作者:菜鸟长安  
这篇文章主要介绍了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()

  • mask():可以将满足条件的全部替换
  • where():将不满足条件的替换

duplicated()和drop_duplicates()

  • duplicated()方法可以帮助找出重复的数据,根据布尔值显示是否重复
  • drop_duplicates()可以帮助删除重复的数据

apply()和map()

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

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

排序和取头部值的方法

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

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

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

  • sort_values() 按值从小到大排序
  • sort_values(ascending=False) 按值从大到小

- 取头部

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

总结

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

相关文章

  • python unix时间戳转换毫秒的实现

    python unix时间戳转换毫秒的实现

    Unix时间戳是一种常见的时间表示方式,本文主要介绍了python unix时间戳转换毫秒的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 解决ImportError:cannot import name ‘Flatten‘ from ‘torch.nn‘问题

    解决ImportError:cannot import name ‘Flatten‘&nb

    这篇文章主要介绍了解决ImportError:cannot import name ‘Flatten‘ from ‘torch.nn‘问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python使用进程Process模块管理资源

    Python使用进程Process模块管理资源

    这篇文章主要介绍了Python使用进程Process模块管理资源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Django结合ajax进行页面实时更新的例子

    Django结合ajax进行页面实时更新的例子

    今天小编就为大家分享一篇Django结合ajax进行页面实时更新的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python远程开发环境部署与调试过程图解

    Python远程开发环境部署与调试过程图解

    这篇文章主要介绍了Python远程开发环境部署与调试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python谱减法语音降噪实例

    Python谱减法语音降噪实例

    今天小编就为大家分享一篇Python谱减法语音降噪实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python模块shutil函数应用示例详解教程

    python模块shutil函数应用示例详解教程

    这篇文章主要为大家介绍了python模块中shutil函数的应用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-10-10
  • Python基于gevent实现高并发代码实例

    Python基于gevent实现高并发代码实例

    这篇文章主要介绍了Python基于gevent实现高并发代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • python使用socket实现的传输demo示例【基于TCP协议】

    python使用socket实现的传输demo示例【基于TCP协议】

    这篇文章主要介绍了python使用socket实现的传输demo,结合实例形式分析了Python使用socket库基于TCP协议实现的客户端与服务器端相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • Python编写一个多线程的12306抢票程序的示例

    Python编写一个多线程的12306抢票程序的示例

    对于很多人来说,抢购火车票人们成了一个令人头疼的问题,本文主要介绍了Python编写一个多线程的12306抢票程序的示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09

最新评论