利用python进行数据分析(六)

如何利用Python进行数据分析 今天我们主要的目标是:给大家介绍在所有的编程语言里,为什么Python能被广泛使用,甚至排名第一,给那些做数据分析相关工作和转行的小伙伴介绍数据分析行业里如何使用Python。 首先介绍一下什么是编程语言。 编程语言是一个计算机的概念,在我们有了计算机以后,想让它帮助我们做事情,就要通过计算机语言和它进行对话、交互,计算机语言能够被计算机所执行,完成我们需要做的相关任务。 计算机语言有很多种,常见的有C、C++、PHP、Java,以及今天我们要讲的Python等等。 首先C语 阅读详情

第3章 函数

3.2.4 匿名函数
匿名函数是一种通过单个语句生成函数的方式,其结果本身就是是返回值,不需要def定 和return返回,调用更加方便。匿名函数使用lambda关键字定义,表达“我们声明一个匿名函数的意思”。
其通用的格式为:

<名称> = lambda <参数1 ... 参数n> : <表达式>

看如下例子:

>>>def short_function(x):
       return x * 2
>>> short_function(5)
10

使用匿名函数则可以简化代码,可以写成:

>>>equiv = lambda x : x * 2
>>>equiv(5)
10

同时,匿名函数可以定义多个参数:

>>>function2 = lambda x, y, z : x + y + z
>>>function2(1, 2, 3)
6

匿名函数在数据分析中非常方便,因为在很多案例中数据变形函数都可以作为其他函数的参数,最常用的是将匿名函数作为sort函数的key,是数据排序更加符合我们的要求:

我们按字符串长短对列表中的字符串进行排序:

>>>strings = ['ds', 'ekja', 'poweak', 'dadioqj', 'pzqidade', 'osssssqknjd']
>>>strings.sort(key = lambda x : len(x))
>>>strings
['ds', 'ekja', 'poweak', 'dadioqj', 'pzqidade', 'osssssqknjd']

我们还可以按照字母的数量进行排序:

>>>strings = ['abbbb', 'abc', 'aaaaaaa', 'jkiu', 'poikpo', 'ossdqqknjd']
>>>strings.sort(key = lambda x : len(set(list(x))))
>>>strings
['aaaaaaa', 'abbbb', 'abc', 'jkiu', 'poikpo', 'ossdqqknjd']

通过将匿名函数传递给key,我们可以做出更多的排序方式。

3.2.5 柯里化:部分参数应用

柯里化石计算机科学的术语,是以一位数学家的名字命名的,所以这个名字并没有明确的含义。它表示通过部分参数应用的方式从已有的函数中衍生出新的函数,看例子很容易理解。

有一个简单的将两个数字相加的函数:

>>>def add_numbers(x, y):
... 	return x + y

通过这个函数衍生出一个只有一个变量的新函数,add_five,给参数加上5:

add_five = lambda y : add_numbers(5, y)

这种情况下,第二个参数对于函数add_numbers就是柯里化了,相当于我们定义了一个新函数,而新函数调用了已存在的函数。

python中内建的functools模块可以使用pratial函数简化这种处理:

>>>from functools import  partial
>>>add_six = partial(add_numbers, 6)
>>>add_six(7)
13

3.2.6 迭代器与生成器

迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。我们使用的字符串、列表与元组都是可迭代对象。

在 Python 中,使用了yield的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。而且在实际调用生成器时,只是生成了一个可迭代对象,只有真正请求生成器中的元素时,它才会执行代码。

我们通过例子来直观感受:
首先定义一个生成列表的普通函数:

>>>def c_list(n):
>>> 	return list(range(n)) 
#该函数可以直接使用
>>>c_list(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

如果使用yiled生成一个生成器函数:

>>>def d_list(n):
>>> 	yield list(range(n)) 	
#直接调用,返回的是一个生成器,代码没有立即执行
>>>d_list(10)
<generator object d_list at 0x00000194DAB03E58>
#打印生成器中的内容
>>>for x in d_list(10):
       print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

注意到这里直接返回了一个列表,而我们知道如果对列表进行遍历的话,返回的应该是每个元素的值,这也说明了生成器并不是一个简单的可迭代列表形式。

因为生成器只有在具体访问的时候才会返回具体的值,所以生成器相对于迭代器的一大优点便是其占用空间小。

与列表推导式相对相应的是生成器表达式,只需要将列表解析式的中括号[]换成()即可。

gen = ( x ** 2 for x in range(100))

总的来数,生成器表达式是对内存空间的优化。他们不需要像方括号的列表解析一样,一次构造出整个结果列表。他们运行起来比列表解析式可能稍慢一些,因此他们对于非常大的结果集合运算是最优的选择。列表解析式最快,生成器表达式最省空间。

微生物基因组

上一节分享了关于寻找基因的内容,本节分享几个微生物基因组资源,一些可用于基因注释:
1, 蛋白直系同源簇(COG):全基因组蛋白的种类分类,每个COG由起源同一保守域单个蛋白质或并系同源蛋白群组成。
2,高质量自动和人工注释的微生物蛋白质组(HAMAP):可对微生物基因组测序产生的蛋白质序列进行自动注释。https://hamap.expasy.org/
3,京都基因和基因组百科全书(KEGG):可根据相互作用的分子或者基因组成信息途径。
4,微生物基因组数据库(MBGD):从不同方面为比较基因组学提供方便,如识别直系同源序列,收集并分析同源序列和蛋白膜体分析。http://mbgd.genome.ad.jp/
5,国立生物工程信息中心(NCBI)。
6,鲍森转运蛋白页(Paulsen Tranxporter Page):比较基因组间膜转运系统。http://www.membranetransport.org/transportDB2/index.html
7,RAST。也是注释基因组的。

《利用Python进行数据分析》阅读笔记 利用Python进行数据分析》这本书是由Wes McKinney编写的,他是Python pandas项目的创始人。这本书详细介绍了如何使用pandas进行数据分析,以及如何利用Python的其他库,如NumPy和IPython,来处理、清洗和规整数据。Series和statsmodels是Python的一个库,用于拟合多种统计模型,进行统计测试和数据探索。scikit-learn是Python的一个库,支持简单和复杂的机器学习算法。 阅读详情

相关推荐

利用Python进行NBA比赛数据分析

利用Python进行NBA比赛数据分析

qq_43680030的博客 5721

蓝桥杯:微生物增殖

蓝桥杯:微生物增殖 题目描述 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍) 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。 现在已知有新出生的 X=10,Y=90,求60分钟后Y的数目。 提示:分析可知,Y分别会在0.5,1.5,2.5······时被吃,所以,把60分钟分成120份,则在除以2余数为1时,Y的数目减少X个。 题目分析 根据提示,可以知道将60分钟分为120份,以0.5分钟为一个节点,来表达微生物增殖

“落花难回枝头上” 535

《利用python进行数据分析》读书笔记

《利用python进行数据分析》是一本利用python的Numpy、Pandas、Matplotlib库进行数据分析的基础介绍,非常适合初学者。 重要的python库 NumPy http://numpy.org Pandas http://pandas.pydata.org matplotlib http://matplotlib.org IPython 和 Jupyter http://ipython.org http://jupyter.org Scipy http://scipy.org sci

老兵Coding 3505

使用python实现细菌繁殖的算法代码,欢迎拍砖讨论!

题目:第0天,细菌培养皿中有1个细菌,3天后,细菌开始繁殖,细菌的生命周期只有30天,不考虑其它因素,问第n天培养皿中有多少个活着的细菌,要求40行以内代码实现 我的代码如下: class CDay_celll(object): def __init__(self, day, cells): self.day = day self.cells = c

Huawei00的博客 2478

Python|微生物增殖

欢迎点击「算法与编程之美」↑关注我们!本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。欢迎加入团队圈子!与作者面对面!直接点击!问题描述假设有...

算法与编程之美 1322

Python|生物增殖问题解决方法

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。问题描述假设有两种生物X,Y,X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次...

算法与编程之美 747

python生物信息_使用python处理生物信息数据(一)

趁疫情被封闭在家,学习一下python,之前尝试过看过perl的书,代码看得我一脸懵逼,python乍看上去和蔼可亲多了,再加上有个师兄鼓励和推荐学习python,找了这本书Managing Your Biological Data with Python先动起来吧,希望自己能坚持下去。Managing Your Biological Data with Python1. Anaconda安装和示...

weixin_39729784的博客 904

pyphe:用于阵列微生物菌落表型分析的Python工具箱

欢迎使用pyphe工具箱 斯蒂芬·卡姆拉德(Stephan Kamrad)(crick.ac.uk上的stephan.kamrad)编写的用于阵列微生物菌落表型分析的python工具箱。 要快速浏览,请参阅我们的。 有关更详细的实验方案,包括生长曲线和活力测定,请参见我们的实验。 有关更多背景信息,请参阅我们的。 请引用为: Kamrad,S.,Rodríguez-López,M.,Cotobal,C.,Correia-Melo,C.,Ralser M.,BählerJ.(2020年)。 Pyphe,用于评估高通量菌落筛选中微生物生长和细胞活力的python工具箱。 eLife 9:e55160 安装 大多数工具都是跨平台兼容的,但是扫描只能在Linux OS上进行。 扫描仪需要可以访问,并且需要安装并可以从命令行访问。 Pyphe需要Python 3和一些常见的软件包,可通过

利用Python进行数据分析第二版复现(六)

第07章 数据清洗和准备 7.1 处理缺失数据 pandas使用浮点值NaN(Not a Number)表示缺失数据。 Python内置的None值在对象数组中也可以作为NA. 列出了一些关于缺失值处理的函数。 import pandas as pd import numpy as np string_data = pd.Series(['aardvark', 'artichoke', np....

ztzxx的博客 392

Halcon实战:基于图像清晰度自动筛选最佳对焦图片

本文详细介绍了如何使用Halcon实现基于图像清晰度的自动筛选最佳对焦图片技术。通过分析灰度值统计和标准差等核心指标,结合实战代码示例,帮助开发者高效处理工业检测中的对焦问题,提升自动化检测的准确性和效率。

weixin_27015733的博客 440

Python 格点数据插值到站点 最邻近插值 双线性插值

python 气象数据格点数据插值到站点,最邻近插值法,双线性插值法

好记性不如烂笔头 8459

利用 Python 进行数据分析实验(六)

使用Python解决问题。

qq_44458671的博客 504

西门子1500T插补控制实战:从硬件组态到轨迹规划

本文详细解析了西门子1500T插补控制的完整实战流程。从硬件组态中正确选择带T的CPU和配置报文105,到创建同步轴与插补器工艺对象,再到使用MC_Interpolator功能块编程实现直线与圆弧插补,并分享了调试技巧与常见问题解决方案,为工程师实现高精度复杂轨迹规划提供清晰指导。

weixin_29228781的博客 423

利用Python进行数据分析(六) - 数据加载、存储和文件格式

注:本文根据《利用Python进行数据分析》总结而来,内容版权归原作者所有。

方糖 753

HarmonyOS ArkTS开发实战:用Axios封装一个通用的网络请求工具类(附完整代码)

本文详细介绍了如何在HarmonyOS ArkTS开发中利用Axios封装一个通用的网络请求工具类,涵盖架构设计、核心模块实现、UI状态联动及高级功能扩展。通过单例控制器、拦截器链配置和Token自动刷新机制,提升网络请求的稳定性和可维护性,适用于各类HarmonyOS应用开发场景。

weixin_30772105的博客 491

Docker部署OnlyOffice踩坑实录:解决editor.bin下载失败的3种姿势

本文详细解析了Docker部署OnlyOffice时editor.bin下载失败的常见原因,并提供了三种核心解决方案。重点剖析了容器网络配置、Nginx反向代理(特别是proxy_pass设置)以及安全策略调整,帮助开发者彻底解决静态资源加载问题,确保文档协作平台稳定运行。

weixin_29281941的博客 872

利用Python数据分析:Numpy基础(六)

import numpy as np arr = np.random.randn(8) arr arr.sort() arr np.sort(arr) #np的顶级方法返回的是副本 arr = np.random.randn(5, 3) arr arr.sort(1) #多维数组按照指定的轴进行排序 arr#这里属于就地排序直接在数组上进行操作 #分位数计算:先进行排序而后取对应位置的值 lar

kkbb8811的博客 560

科研指南:IEEE期刊LaTeX/Word模板下载与使用全解析

本文详细解析了IEEE期刊LaTeX/Word模板的下载与使用技巧,帮助科研人员高效完成论文排版。从官方模板获取入口到LaTeX文档结构配置,再到Word样式管理与常见问题解决方案,全面覆盖投稿准备的关键步骤。特别针对数学公式、参考文献和图片处理等难点提供实用建议,助力学术写作规范化。

weixin_28396629的博客 567

《利用python进行数据分析》学习笔记(六)

数据加载、存储与文件格式 读写文本格式的数据 # 文件带有标题行 df = pd.read_csv('ch06/ex1.csv') df = pd.read_table('ch06/ex1.csv', sep=',') # 文件没有标题行 pd.read_csv('ch06/ex2.csv', header=None) pd.read_csv('ch06/ex2.csv', nam...

mike112223的博客 526

WOFOST作物模型(7):6.0.6版本的PCSE使用(多层水分平衡和SNOMIN碳氮模型的集成)

wofost81文件结构如上,其中所需的参数可从github上获取然后input下有两个需要调用的功能函数py文件,需要拖到自己的运行py文件同级目录下在使用土壤模块SNOMIN进行作物生长模型模拟时,需要为土壤剖面的不同层次提供多种输入变量。这些变量通常不随年份变化,因此会统一在土壤文件中定义。本节将说明如何将这些输入变量整合到一个字典中,进而生成SNOMIN能够读取的土壤文件。

所有专家都曾始于新手 638

华为OD机试真题 新系统 9月27号 【数据中心最佳维护窗口】

华为OD机试真题 新系统【数据中心最佳维护窗口】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【数据中心最佳维护窗口】多语言题解。

qq_45776114的博客 1160

利用python进行数据分析

如果之前Anaconda3加入到环境变量,就可以直接启动。我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

Python栈_基的博客 2519

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

利用python进行数据分析论文_《利用Python进行数据分析》读后感10篇

《利用Python进行数据分析》是一本由Wes McKinney著作,机械工业出版社出版的平装图书,本书定价:89.00,页数:464,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。《利用Python进行数据分析》读后感(一):搭个数据分析的框架读完后,知道了数据分析那些流程,具体的python实现方式。这本书主要介绍了numpy和pandas模块,逻辑挺清晰的,实操性应该挺强。不过啊...

weixin_39971172的博客 1225

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

学习python的必读书籍《利用Python进行数据分析》附PDF版

利用Python进行数据分析本书由pandas项目创始人Wes McKinney亲笔撰写,详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas、NumPy、IPython和Jupyter,并增加大量实际案例,可以帮助你高效解决一系列数据分析问题。第2版中的主要更新包括:• 所有的代码,包括把Python的教程更新到了Python 3.6版本(第1版中使用的是Python 2.7)

m0_59236127的博客 3383

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

利用Python进行数据分析

一、处理数据的基本内容是指对数据进行控制、处理、整理、分析的过程。在这里,“数据”是指结构化的数据,例如:记录、多维数组、Excel 里的数据、关系型数据库中的数据、数据表等。二、说说 Python 这门语言Python 是现在最受欢迎的动态编程语言之一(还有 Perl、Ruby 等)。近些年非常流行用 Python 建站,比如流行的 Python Web 框架 Django。Python 这类语言被称为脚本语言,因为它们可以编写简短粗糙的小程序,即脚本。

weixin_68789096的博客 499
上一篇: 利用python进行数据分析(五)
下一篇: 统计基因组氨基酸频率-windows下可执行
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值