如何成为Python的数据操作库Pandas的专家?

IT科技类资讯2025-11-05 14:10:07875

Pandas库是何成Python中最流行的数据操作库。受到R语言的数据frames启发,它提供了一种通过其data-frame API操作数据的操作简单方法。下面我们给大家介绍Pandas在Python中的何成定位。

了解Pandas

要很好地理解pandas,数据关键之一是操作要理解pandas是一系列其他python库的包装器。主要的何成有Numpy、SQL alchemy、数据Matplot lib和openpyxl。操作

data frame的何成核心内部模型是一系列NumPy数组和pandas函数。

pandas利用其他库来从data frame中获取数据。数据例如,操作SQL alchemy通过read_sql和to_sql函数使用;openpyxl和xlsx writer用于read_excel和to_excel函数。何成而Matplotlib和Seaborn则用于提供一个简单的数据接口,使用诸如df.plot()这样的操作命令来绘制data frame中可用的信息。

Numpy的Pandas-高效的Pandas

您经常听到的抱怨之一是Python很慢,网站模板或者难以处理大量数据。通常情况下,这是由于编写的代码的效率很低造成的。原生Python代码确实比编译后的代码要慢。不过,像Pandas这样的库提供了一个用于编译代码的python接口,并且知道如何正确使用这个接口。

向量化操作

与底层库Numpy一样,pandas执行向量化操作的效率比执行循环更高。这些效率是由于向量化操作是通过C编译代码执行的,而不是通过本机python代码执行的。另一个因素是向量化操作的能力,它可以对整个数据集进行操作,而不只是对一个子数据集进行操作。

应用接口允许通过使用CPython接口进行循环来获得一些效率:

df.apply(lambda x: x[col_a] * x[col_b], axis=1)

但是,大部分性能收益可以通过使用向量化操作本身获得,站群服务器可以直接在pandas中使用,也可以直接调用它的内部Numpy数组。

通过DTYPES高效地存储数据

当通过read_csv、read_excel或其他数据帧读取函数将数据帧加载到内存中时,pandas会进行类型推断,这可能是低效的。这些api允许您明确地利用dtypes指定每个列的类型。指定dtypes允许在内存中更有效地存储数据。

df.astype({testColumn: str, testCountCol: float})

Dtypes是来自Numpy的本机对象,它允许您定义用于存储特定信息的确切类型和位数。

例如,Numpy的类型np.dtype( int32 )表示一个32位长的整数。pandas默认为64位整数,我们可以节省一半的空间使用32位:

处理带有块的大型数据集

pandas允许按块(chunk)加载数据帧中的数据。因此,可以将数据帧作为迭代器处理,并且能够处理大于可用内存的数据帧。

在读取数据源时定义块大小和get_chunk方法的组合允许panda以迭代器的方式处理数据,服务器托管如上面的示例所示,其中数据帧一次读取两行。然后我们可以遍历这些块:

i = 0for a in df_iter: # do some processing chunk = df_iter.get_chunk() i += 1 new_chunk = chunk.apply(lambda x: do_something(x), axis=1) new_chunk.to_csv("chunk_output_%i.csv" % i )

它的输出可以被提供到一个CSV文件,pickle,导出到数据库,等等…

本文地址:http://www.bzve.cn/html/340d65499005.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

大家好,本教程将学习如何在 ubuntu 15.04 上面安装 puppet,它可以用来管理你的服务器基础环境。puppet 是由 puppet 实验室Puppet Labs开发并维护的一款开源的配置管理软件,它能够帮我们自动化供给、配置和管理服务器的基础环境。不管我们管理的是几个服务器还是数以千计的计算机组成的业务报表体系,puppet 都能够使管理员从繁琐的手动配置调整中解放出来,腾出时间和精力去提系统的升整体效率。它能够确保所有自动化流程作业的一致性、可靠性以及稳定性。它让管理员和开发者更紧密的联系在一起,使开发者更容易产出付出设计良好、简洁清晰的代码。puppet 提供了配置管理和数据中心自动化的两个解决方案。这两个解决方案分别是 puppet 开源版 和 puppet 企业版。puppet 开源版以 Apache 2.0 许可证发布,它是一个非常灵活、可定制的解决方案,设置初衷是帮助管理员去完成那些重复性操作工作。pupprt 企业版是一个全平台复杂 IT 环境下的成熟解决方案,它除了拥有开源版本所有优势以外还有移动端 apps、只有商业版才有的加强支持,以及模块化和集成管理等。Puppet 使用 SSL 证书来认证主控服务器与代理节点之间的通信。本教程将要介绍如何在运行 ubuntu 15.04 的主控服务器和代理节点上面安装开源版的 puppet。在这里,我们用一台服务器做主控服务器master,管理和控制剩余的当作 puppet 代理节点agent node的服务器,这些代理节点将依据主控服务器来进行配置。在 ubuntu 15.04 只需要简单的几步就能安装配置好 puppet,用它来管理我们的服务器基础环境非常的方便。(LCTT 译注:puppet 采用 C/S 架构,所以必须有至少有一台作为服务器,其他作为客户端处理)复制代码代码如下:注意,puppet 主控服务器必使用 8140 端口来运行,所以请务必保证开启8140端口。2. 用 NTP 更新时间复制代码代码如下:17 Jun 00:17:08 ntpdate[882]: adjust time server 66.175.209.17 offset -0.001938 sec    复制代码代码如下:复制代码代码如下:下载完成,我们来安装它:复制代码代码如下:使用 apt 包管理命令更新一下本地的软件源:复制代码代码如下:现在我们就可以安装 puppetmaster-passenger 了复制代码代码如下:提示: 在安装的时候可能会报错:复制代码代码如下:现在我们已经安装好了 puppet 主控服务器。因为我们使用的是配合 apache 的 passenger,由 apache 来控制 puppet 主控服务器,当 apache 运行时 puppet 主控服务器才运行。在开始之前,我们需要通过停止 apache 服务来让 puppet 主控服务器停止运行。复制代码代码如下:复制代码代码如下:在新创建的文件里面添加以下内容:复制代码代码如下:这样在以后的系统软件升级中, puppet 主控服务器将不会跟随系统软件一起升级。5. 配置 Puppet 主控服务器复制代码代码如下:现在来配置该证书,在创建 puppet 主控服务器证书时,我们需要包括代理节点与主控服务器沟通所用的每个 DNS 名称。使用文本编辑器来修改服务器的配置文件 puppet.conf:复制代码代码如下:输出的结果像下面这样复制代码代码如下:在这我们需要注释掉 templatedir 这行使它失效。然后在文件的 [main] 小节的结尾添加下面的信息。复制代码代码如下:编辑完成后保存退出。使用下面的命令来生成一个新的证书。复制代码代码如下:至此,证书已经生成。一旦我们看到 Notice: Starting Puppet master version 3.8.1,就表明证书就已经制作好了。我们按下 CTRL-C 回到 shell 命令行。查看新生成证书的信息,可以使用下面的命令。复制代码代码如下:复制代码代码如下:在刚打开的文件里面添加下面这几行:复制代码代码如下:以上这几行的意思是给代理节点部署 apache web 服务。7. 运行 puppet 主控服务复制代码代码如下:我们 puppet 主控服务器已经运行,不过它还不能管理任何代理节点。现在我们给 puppet 主控服务器添加代理节点.提示: 假如报错Job for apache2.service failed. see systemctl status apache2.service and journalctl -xe for details.复制代码代码如下:使用 apt 包管理命令更新一下本地的软件源:复制代码代码如下:通过远程仓库安装:复制代码代码如下:Puppet 代理默认是不启动的。这里我们需要使用文本编辑器修改 /etc/default/puppet 文件,使它正常工作:复制代码代码如下:更改 START 的值改成 yes 。复制代码代码如下:最后保存并退出。9. 使用 Apt 工具锁定代理软件的版本复制代码代码如下:在新建的文件里面加入如下内容复制代码代码如下:这样 puppet 就不会随着系统软件升级而随意升级了。10. 配置 puppet 代理节点复制代码代码如下:它看起来和服务器的配置文件完全一样。同样注释掉 templatedir 这行。不同的是在这里我们需要删除掉所有关于[master] 的部分。假定主控服务器可以通过名字“puppet-master”访问,我们的客户端应该可以和它相互连接通信。假如不行的话,我们需要使用完整的主机域名 puppetmaster.example.com复制代码代码如下:在文件的结尾增加上面3行,增加之后文件内容像下面这样:复制代码代码如下:最后保存并退出。使用下面的命令来启动客户端软件:复制代码代码如下:假如一切顺利的话,我们不会看到命令行有任何输出。 第一次运行的时候,代理节点会生成一个 ssl 证书并且给服务器发送一个请求,经过签名确认后,两台机器就可以互相通信了。提示: 假如这是你添加的第一个代理节点,建议你在添加其他节点前先给这个证书签名。一旦能够通过并正常运行,回过头来再添加其他代理节点。11. 在主控服务器上对证书请求进行签名复制代码代码如下:因为只设置了一台代理节点服务器,所以我们将只看到一个请求。看起来类似如上,代理节点的完整域名即其主机名。注意有没有“+”号在前面,代表这个证书有没有被签名。使用带有主机名的 puppet cert sign 这个命令来签署这个签名请求,如下:复制代码代码如下:主控服务器现在可以通讯和控制它签名过的代理节点了。假如想签署所有的当前请求,可以使用 -all 选项,如下所示:复制代码代码如下:复制代码代码如下:假如我们想查看所有的签署和未签署的请求,使用下面这条命令:复制代码代码如下:复制代码代码如下:这里向我们展示了主清单如何立即影响到了一个单一的服务器。假如我们打算运行的 puppet 清单与主清单没有什么关联,我们可以简单使用 puppet apply 带上相应的清单文件的路径即可。它仅将清单应用到我们运行该清单的代理节点上。复制代码代码如下:复制代码代码如下:添加下面的内容进去复制代码代码如下:这里的配置显示我们将在名为 puppetnode 和 puppetnode1 的2个指定的节点上面安装 apache 服务。这里可以添加其他我们需要安装部署的具体节点进去。15. 配置清单模块复制代码代码如下:警告: 千万不要在一个已经部署 apache 环境的机器上面使用这个模块,否则它将清空你没有被 puppet 管理的 apache 配置。现在用文本编辑器来修改 site.pp :复制代码代码如下:添加下面的内容进去,在 puppetnode 上面安装 apache 服务。复制代码代码如下:保存退出。然后重新运行该清单来为我们的代理节点部署 apache 配置。总结现在我们已经成功的在 ubuntu 15.04 上面部署并运行 puppet 来管理代理节点服务器的基础运行环境。我们学习了 puppet 是如何工作的,编写清单文件,节点与主机间使用 ssl 证书认证的认证过程。使用 puppet 开源软件配置管理工具在众多的代理节点上来控制、管理和配置重复性任务是非常容易的。

Redis 实现一个高性能轻量级消息队列

模型上下文协议 (MCP) 十大安全漏洞解析

物联网能源管理的好处

电脑密码输入错误的常见问题与解决方法(密码输入错误的原因分析及应对策略)

作业帮聂安:运维如何转型,听听作业帮的OPaS思路

直播之后,再谈兼容性破局之道

微软详解防御间接提示注入攻击的技术方案

友情链接

滇ICP备2023006006号-39