iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >提升python学习效率的方法
  • 130
分享到

提升python学习效率的方法

2024-04-02 19:04:59 130人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“提升python学习效率的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“提升Python学习效率的方法”吧!我们平时在跑数据的时候可

这篇文章主要讲解了“提升python学习效率的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“提升Python学习效率的方法”吧!

提升python学习效率的方法

我们平时在跑数据的时候可能会将数据结果存储在txt文件中,不知道大家平时是怎么处理txt文件中的数据的,相信各位同学都有自己的方法,用python的pandas包或者把数据塞进数据库再用sql等等。无论是用哪种方法在处理数据的时候有很多方法是通用的,比如where,join等等,可以先将这些常用方法写成python脚本,需要对txt文件的数据进行处理时直接用脚本来处理txt文件。优点在于省掉了txt和数据库之间来回倒腾数据的时间,也省掉了用pandas读取数据写脚本的时间,能够快速方便地验证和处理数据。

在举例子之前要先介绍一个linux中“管道” 的概念,熟悉linux的人应该对这个概念不陌生,符号为“|” ,管道的作用在于连接多条命令比如命令:cat  data.txt|wc -l 的含义就是查看data中数据条数,其中“|”就是管道,将cat data.txt的输出作为wc  -l的输入。总结来说只要第一个命令向标准输出写入,而第二个命令是从标准输入读取,那么这两个命令就可以形成一个管道。同样我们可以用将输出传递给python脚本。

明白了管道的概念,那我们开始吧,案例数据如下:

data1.txt记录用户的id以及年龄,data2.txt记录用户的消费信息

提升python学习效率的方法

首先我们写一个实现where功能的python脚本,脚本如下:

where.py

#!/usr/bin/env python # -*- encoding:utf-8 -*-  import sys import re import cutmode  def where(col, cmpexpr, val, cmptype):    sw ={       '>': lambda y, x: y > x,        '>=': lambda y, x: y >= x,       '<': lambda y, x: y < x,       '<=': lambda y, x: y <= x,       '==': lambda y, x: y == x,        '!=': lambda y, x: y != x,    }   for line in sys.stdin:        line = line.strip()       #data= re.split('\s+',line)       data = line.split('\t')       if len(data) <= col : continue       if cmptype == 'int':            number = int(data[col])           val = int(val)       elif cmptype == 'float':           number = float(data[col])           val = float(val)       else:            number = data[col]               if sw[cmpexpr](number,val):           print line.strip()                 if __name__ == '__main__':   col = int(sys.argv[1])   cmpexpr = sys.argv[2]   val = sys.argv[3]   cmptype = sys.argv[4]   where(col, cmpexpr, val, cmptype)

程序就不一行行解释了,简单来说一下几个参数,其中 python 程序的四个参数

  • col 表示第几列

  • cmpexpr 表示比较运算符(>,>=,<,<=,=,!=)

  • val表示要比较的数字

  • cmptype表示数据类型

我们筛选年龄大于24岁的用户,指令和结果如下:

cat data.txt|python where.py 1 '>=' 25 int

提升python学习效率的方法

join.py

#!/usr/bin/env python # -*- encoding:utf-8 -*-  import sys import re  def makeJoin(joinfields, file_list=[]):   dict = {}   file_last = open(file_list[-1])   k, v = joinfields[-1].split(':')   k, v = int(k),int(v)   for line in file_last:       sps = re.split('\s+', line)       if len(sps) >= max(k,v):           val = sps[v] if v >= 0 else ''           dict.setdefault(sps[k], val)               file_last.close()       for i in xrange(len(file_list)-1):        fd = open(file_list[i], 'r')        field = joinfields[i].split(':')[0]       for data in fd.readlines():           attr = re.split('\t', data.strip())           if len(attr) <= int(field):continue           joinid = attr[int(field)]           appendix = dict[joinid] if joinid in dict else 'noright'           print data.strip() + '\t' + appendix       fd.close()  if __name__ == '__main__':   joinfields = sys.argv[1].split(',')   file_list = sys.argv[2:]   makeJoin(joinfields, file_list)

下面将两个数据进行join,计算出每个用户的年龄以及对应的花费。

指令如下:python join.py '0:1,0:1' 'data1.txt' 'data2.txt'

  • 第一个0:1 表示data1.txt的链接主键为0列,值为1列

  • 第二个0:1 表示data2.txt的链接主键为0列,值为1列

  • data1.txt 和data2.txt 分别为需要链接的文件

提升python学习效率的方法

select.py

#!/usr/bin/env python # -*- encoding:utf-8 -*-  import sys import re  def cut(files,col1,col2):   col1=int(col1)   col2=int(col2)   f=open   for line in sys.stdin:       line_list=line.split()       if(len(line_list)>=max(col1,col2)):           if col1>=0 and col2>=0 and col1<=col2:               print("\t".join(line_list[col1:col2]))           else:               print("参数输入错误")       else:           print("参数超出范围") if __name__=="__main__":   col1=sys.argv[1]   col2=sys.argv[2]   cut(col1,col2)

取出有花费的用户id,指令如下:

  • col1:开始列

  • col2:结束列

python select.py 0 1 data2.txt

提升python学习效率的方法

综合使用

选出data1中付过费,且年龄大于35岁的用户id

python join.py '0:1,0:1' 'data1.txt' 'data2.txt'|python where.py 2 '!=' null string|python where.py 1 '>' 35 int|python select.py 0 1  12159  17473

感谢各位的阅读,以上就是“提升python学习效率的方法”的内容了,经过本文的学习后,相信大家对提升python学习效率的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 提升python学习效率的方法

本文链接: https://www.lsjlt.com/news/61547.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 提升python学习效率的方法
    这篇文章主要讲解了“提升python学习效率的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“提升python学习效率的方法”吧!我们平时在跑数据的时候可...
    99+
    2022-10-18
  • vue3的效率提升方法
    这篇文章主要介绍“vue3的效率提升方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue3的效率提升方法”文章能帮助大家解决问题。对静态节点的提升什么是静态节点所谓的静态节点就是在 vue 中的...
    99+
    2023-06-30
  • 《学习Java分布式:如何记录学习笔记提升学习效率?》
    学习Java分布式:如何记录学习笔记提升学习效率? Java是一种流行的编程语言,它可以用于开发各种应用程序,包括分布式系统。学习Java分布式是学习Java编程的重要部分,但是如何记录学习笔记以提高学习效率是一个值得探讨的问题。在本文中,...
    99+
    2023-07-27
    教程 分布式 学习笔记
  • Python工作效率提升的方法有哪些
    本篇内容主要讲解“Python工作效率提升的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python工作效率提升的方法有哪些”吧!运行外部文件尝试在JupyterNotebook中运...
    99+
    2023-06-16
  • Python 容器如何提升自然语言处理学习效率?
    自然语言处理(NLP)是人工智能领域中的一个热门研究方向,它涉及到计算机如何理解和处理人类语言。在 NLP 中,数据的处理和分析是非常重要的一步。Python 作为一种高效的编程语言,提供了许多容器来处理数据,进而提升了 NLP 学习效率...
    99+
    2023-08-11
    容器 自然语言处理 学习笔记
  • 如何在 IDE 中提高 Python 学习笔记的效率?
    Python 是一种广泛使用的编程语言,而 Python 的学习笔记是每个 Python 学习者都需要记录和整理的重要资料。在日常学习中,Python 学习者需要频繁地查找文档、编写代码、调试程序等,因此,如何在 IDE 中提高 Pytho...
    99+
    2023-10-27
    学习笔记 ide 教程
  • oracle提升查询效率的方法有哪些
    提升Oracle查询效率的方法有:1. 使用索引:在表中创建适当的索引可以大大提高查询性能。索引可以帮助数据库快速定位到需要的数据,...
    99+
    2023-09-07
    oracle
  • pandas提升计算效率的一些方法汇总
    前言 Pandas是为一次性处理整个行或列的矢量化操作而设计的,循环遍历每个单元格、行或列并不是它的设计用途。所以,在使用Pandas时,你应该考虑高度可并行化的矩阵运算。 一、避...
    99+
    2022-11-12
  • Python 学习笔记中如何运用 Linux 系统的优势来提高学习效率?
    Python 是一种高级编程语言,它的流行度越来越高。想要成为一名优秀的 Python 开发者,需要克服很多的挑战和困难。在这个过程中,Linux 系统的优势可以帮助我们提高学习效率。本文将介绍如何在 Python 学习笔记中运用 Lin...
    99+
    2023-09-02
    学习笔记 http linux
  • Java 编程算法框架学习笔记:如何利用框架提升编程效率?
    Java 是一种广泛使用的编程语言,应用于各种领域。在编写 Java 代码时,我们需要处理各种各样的问题,比如数据结构、算法、数据处理等。这些问题可以通过编程框架来解决,这篇文章将介绍一些常用的 Java 编程算法框架及其使用方法。 一、...
    99+
    2023-10-21
    编程算法 框架 学习笔记
  • IDE的选择:如何提高ASP学习效率?
    ASP(Active Server Pages)是一种基于服务器端的脚本语言,通常用于Web应用程序的开发。在学习ASP的过程中,选择一个合适的IDE(集成开发环境)是非常重要的。一个好的IDE可以极大地提高你的学习效率,让你更加专注于代...
    99+
    2023-10-05
    学习笔记 ide 数据类型
  • Python 缓存分布式:如何提高学习笔记的效率?
    在现代社会中,学习已经成为了人们日常生活中不可或缺的一部分。学习笔记是我们学习过程中必不可少的一个环节,然而学习笔记的效率却往往受到了很多限制。例如,当我们需要查找某个概念或者公式时,需要翻阅大量的笔记才能找到目标内容,这无疑会浪费我们大...
    99+
    2023-07-26
    缓存 分布式 学习笔记
  • Python 学习笔记:哪些 IDE 功能能够提高效率?
    Python 是一门简单易学、功能强大的编程语言,因此越来越多的人开始学习它。随着 Python 的流行,各种各样的集成开发环境(IDE)也随之出现。这些 IDE 可以帮助开发者编写、调试和测试 Python 代码,提高开发效率。本文将介...
    99+
    2023-10-27
    学习笔记 ide 教程
  • 研究字符串数组赋值的效率提升方法
    提高效率的字符串数组赋值方法探索在编程中,经常会遇到需要给字符串数组进行赋值的情况。由于字符串数组在实际应用中的频繁使用,如处理字典、日志记录等,因此寻找高效的字符串数组赋值方法对于提高程序的性能至关重要。本文将探索一些提高效率的字符串数组...
    99+
    2023-12-26
    效率 赋值 字符串数组
  • NumPy如何提高数据科学和机器学习的效率?
    NumPy是Python中一个重要的科学计算库,它提供了高效的数组操作和数学函数,是进行数据科学和机器学习的必备工具。在本文中,我们将探讨NumPy如何提高数据科学和机器学习的效率。 1. 数组操作 NumPy中最重要的功能之一是数组操作。...
    99+
    2023-09-11
    开发技术 numpy npm
  • 提升golang中Select Channels Go并发式编程的效率方法
    以下是一些提升Golang中Select Channels Go并发式编程效率的方法:1. 使用缓冲通道:默认情况下,通道是非缓冲的...
    99+
    2023-10-08
    Golang
  • 提升Python的执行效率的技巧有哪些
    今天小编给大家分享一下提升Python的执行效率的技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开始之前小伙伴先可...
    99+
    2023-07-06
  • IT人的学习方法论-3 高效学习的建议
    一些有关“怎么学”的建议 首先需要明确方向,否则即使学习方法再高效,也不免南辕北辙,背离自己的目标。关于学习方向的讨论,请参见之前的一篇文章。下面我来重点说一说有关“怎么学”的建议。 IT技术,不是一个通过“闭关修炼”就能练成绝世武功的...
    99+
    2023-01-31
    方法论 高效 建议
  • 如何利用 ASP、NPM、Apache 提高学习笔记的效率?
    在当今信息爆炸的时代,学习成为了人们不可或缺的一部分,而笔记则是学习不可或缺的一环。但是,我们常常会发现我们写的笔记过于冗长、不易于阅读,这不仅降低了学习效率,还让我们在复习时花费了更多的时间。那么,如何利用 ASP、NPM、Apache...
    99+
    2023-07-30
    npm 学习笔记 apache
  • 利用Golang Facade模式提升业务开发效率的方法论
    使用Golang的Facade模式可以提升业务开发效率的方法论如下:1. 理解Facade模式:首先,要理解Facade模式的概念和...
    99+
    2023-10-20
    Golang
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作