Python数据处理的六种方式总结

 更新时间:2022年11月21日 09:55:06   作者:Python数据挖掘  
在 Python 的数据处理方面经常会用到一些比较常用的数据处理方式,比如pandas、numpy等等。今天介绍的这款 Python 数据处理的管道数据处理方式,通过链式函数的方式可以轻松的完成对list列表数据的处理,希望对大家有所帮助

前言

在 Python 的数据处理方面经常会用到一些比较常用的数据处理方式,比如pandas、numpy等等。

今天介绍的这款 Python 数据处理的管道数据处理方式,通过链式函数的方式可以轻松的完成对list列表数据的处理。通过类似于shell编程中的管道符对处理条件进行筛选从而更快速的完成对数据的处理操作。

由于pipe是第三方提供的非标准库,所以需要使用pip的方式进行安装。

pip install pipe -i https://pypi.tuna.tsinghua.edu.cn/simple/

# Importing the pipe module.
import pipe

# Importing the pprint function from the pprint module.
from pprint import pprint

关于pipe提供的数据处理函数主要包含六种,分别是dedup()、traverse()、filter()、groupby()、select()、sort(),通过函数间的不同组合可以完成不同的数据处理效果。

1、dedup()去重并排序

数据去重比较好操作,就是去除一个列表中的重复数据,如果是数字类型的list列表,可以对原始值进行去重也可以对其绝对值进行去重操作。

list_ = (
        [-6, -5, 0, 1, 5, 5] |
        pipe.dedup |
        pipe.Pipe(list)
)

pprint(list_)

# [-6, -5, 0, 1, 5]

也可以通过设置dedup()函数的属性对绝对值进行去重操作。

list_ = (
        [-6, -5, 0, 1, 5, 5] |
        pipe.dedup(key=abs) |
        pipe.Pipe(list)
)

pprint(list_)

# [-6, -5, 0, 1]

2、traverse()拆分嵌套数组

为了展示效果,我创建了一个多重数组的列表通过使用traverse()函数完成拆分。

list_ = (
        [-1, 0, [2, 4, [5, 6, [3, 2, 5]]]] |
        pipe.traverse |
        pipe.Pipe(list)
)

pprint(list_)

# [-1, 0, 2, 4, 5, 6, 3, 2, 5]

从结果发现,已经将我们定义的一个四层的list列表完全的拆分了。

3、filter()数据筛选

创建一组list列表数据并筛选出列表中的值大于10的数据并返回筛选后的列表数据。

list_ = (
        [-1, 0, 1, 2, 4, 6, 10, 11, 12, 15, 17, 18] |
        pipe.filter(lambda a: a > 10) |
        pipe.Pipe(list)
)

pprint(list_)

# [11, 12, 15, 17, 18]

4、groupby()分组运算

创建一个包含属性姓名、年龄、班级的list列表,然后可以按照某一个属性对其完成分组。

list_ = (
        [
            {
                '姓名': 'Pytonh',
                '年龄': '19',
                '班级': '1710'
            },
            {
                '姓名': 'Pytonh',
                '年龄': '20',
                '班级': '1810'
            }
        ] |
        pipe.groupby(lambda item: item['姓名']) |
        pipe.Pipe(list)
)

pprint(list_)

# [('Pytonh', <itertools._grouper object at 0x003EE6B8>)]

这时,虽然返回了分组的结果,但是没有对其进行运算,此时可以搭配下面的select()函数完成运算。

5、select()遍历结果集

使用上一步中分组出来的数据结果,使用select函数参与运算计算出姓名为’Python 集中营’的结果有多少。

list_ = (
        [
            {
                '姓名': 'Pytonh ',
                '年龄': '19',
                '班级': '1710'
            },
            {
                '姓名': 'Pytonh ',
                '年龄': '20',
                '班级': '1810'
            }
        ] |
        pipe.groupby(lambda item: item['姓名']) |
        pipe.select(lambda groups: {groups[0]: len(list(groups[1]))}) |
        pipe.Pipe(list)
)

pprint(list_)

# [{'Pytonh ': 2}]

6、sort()数据排序

sort函数的排序使用相对于分组来说就更简单了,同样创建一组列表数据来展示效果。

list_ = (
        [-1, 2, 5, 7, 9] |
        pipe.sort(reverse=True) |
        pipe.Pipe(list)
)

pprint(list_)

# [9, 7, 5, 2, -1]

sort函数的reverse属性设置为True的时候为降序排序,设置为False时则为升序排序。

list_ = (
        [-1, 2, 5, 7, 9] |
        pipe.sort(reverse=False) |
        pipe.Pipe(list)
)

pprint(list_)

# [-1, 2, 5, 7, 9]

到此这篇关于Python数据处理的六种方式总结的文章就介绍到这了,更多相关Python数据处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 图片验证码代码

    python 图片验证码代码

    在网络应用中,验证码常常作为一个必备的手段,用来避免机器人恶意注册,保证坐在浏览器前的是一个人。
    2008-12-12
  • 机器学习之KNN算法原理及Python实现方法详解

    机器学习之KNN算法原理及Python实现方法详解

    这篇文章主要介绍了机器学习之KNN算法原理及Python实现方法,结合实例形式详细分析了机器学习KNN算法原理以及Python相关实现步骤、操作技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • 用Python画小女孩放风筝的示例

    用Python画小女孩放风筝的示例

    今天小编就为大家分享一篇用Python画小女孩放风筝的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • PyCharm配置第三方镜像源的解决方法

    PyCharm配置第三方镜像源的解决方法

    在pycharm中配置第三方镜像后,秩序搜索需要的第三方库,就可以使用第三方镜像下载,速度不是一般的快,这篇文章主要介绍了PyCharm配置第三方镜像源,需要的朋友可以参考下
    2024-01-01
  • python-yml文件读写与xml文件读写

    python-yml文件读写与xml文件读写

    这篇文章主要介绍了python-yml文件读写与xml文件读写,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Python析构函数__del__定义原理解析

    Python析构函数__del__定义原理解析

    这篇文章主要介绍了Python析构函数__del__定义原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python 深入了解GIL锁详细

    python 深入了解GIL锁详细

    这篇文章主要介绍了python 深入了解GIL锁,python的使用者都知道Cpython解释器有一个弊端,真正执行时同一时间只会有一个线程执行,这是由于设计者当初设计的一个缺陷,里面有个叫GIL锁的,但他到底是什么,接下来和小编一起进入下面文章详细内容吧
    2021-10-10
  • selenium判断元素是否存在的两种方法小结

    selenium判断元素是否存在的两种方法小结

    这篇文章主要介绍了selenium判断元素是否存在的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 编写Python脚本来获取mp3文件tag信息的教程

    编写Python脚本来获取mp3文件tag信息的教程

    这篇文章主要介绍了编写Python脚本来获取mp3文件tag信息的教程,代码基于Python2.x,文中的注释很详细,需要的朋友可以参考下
    2015-05-05
  • python循环定时中断执行某一段程序的实例

    python循环定时中断执行某一段程序的实例

    今天小编就为大家分享一篇python循环定时中断执行某一段程序的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论