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中if和elif的用法示例及区别详解

    Python中if和elif的用法示例及区别详解

    这篇文章主要给大家介绍了关于Python中if和elif的用法示例及区别的相关资料,除了基本的if和else语句外,elif(即else if)也是一个非常重要的组成部分,需要的朋友可以参考下
    2024-04-04
  • python实现三维拟合的方法

    python实现三维拟合的方法

    今天小编就为大家分享一篇python实现三维拟合的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python画图高斯分布的示例

    Python画图高斯分布的示例

    今天小编就为大家分享一篇Python画图高斯分布的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python关键字yield的用法详解

    Python关键字yield的用法详解

    在Python编程中,有一个强大而神秘的关键字,那就是yield,初学者常常被它搞得晕头转向,而高级开发者则借助它实现高效的代码,到底yield是什么?它又是如何在Python代码中发挥作用的呢?让我们一起来揭开它的面纱
    2024-07-07
  • Django上使用数据可视化利器Bokeh解析

    Django上使用数据可视化利器Bokeh解析

    这篇文章主要介绍了Django上使用数据可视化利器Bokeh解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python str字符串转uuid实例

    python str字符串转uuid实例

    这篇文章主要介绍了python str字符串转uuid实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python dict乱码如何解决

    python dict乱码如何解决

    在本篇文章里小编给大家分享了关于python dict乱码解决方法,需要的朋友们可以参考下。
    2020-06-06
  • python logging模块的使用总结

    python logging模块的使用总结

    这篇文章主要介绍了python logging模块使用总结以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。,需要的朋友可以参考下
    2019-07-07
  • Python Tkinter之事件处理详解

    Python Tkinter之事件处理详解

    事件处理,是 GUI 程序中不可或缺的重要组成部分,相比来说,控件只是组成一台机器的零部件。本文我们将对 Tkinter 中的事件处理机制做详细的介绍,需要的可以参考一下
    2022-01-01
  • 在Python中如何优雅地创建表格的实现

    在Python中如何优雅地创建表格的实现

    本文主要介绍了在Python中如何优雅地创建表格的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论