是否需要使用NumPy代替Pandas处理数据以提高性能?

Pandas和NumPy是Python数据科学领域中最基础的两个库,他们都可以读取大量的数据并对数据做计算等处理。有很多的操作他们都能做。那么,这两个Python库在数据处理的性能上有什么差别呢?今天在Reddit上看到一个有意思的讨论和大家分享一下。

小木 242 numpy/pandas/python
PandasTutor——一个用于可视化pandas操作的神器

pandas是Python中一个非常重要的分析工具,在数据处理方面应用非常广泛。但是,也是因为pandas包含的操作很多,所以初学者很多时候也不能特别能理解这些操作。 为了让初学者能够充分理解pandas中的操作,Pandas Tutor将pandas的操作变成可视化的过程,让我们充分理解这个过程。

小木 466 pandas/python/编程
pandas的get_dummies方法在机器学习中的应用及其陷阱

pandas.get_dummies是pandas中一种非常高效的方法。它最主要的作用是可以将分类变量转变成dummy变量,也就是虚拟变量。这篇博客将简要的介绍一下pandas.get_dummies()方法,并描述其在机器学习中的应用的一些注意事项。

小木 369 pandas/python/编程
Python入门的基本概念之包管理——pip与conda的简介对比

对于刚接触使用Python的同学来说,Python强大的生态与优秀的开源工具应该印象十分深刻。同时对于一些已经在使用Python解决问题的童鞋来说,使用pip来安装一些别人提供的工具应该已经熟悉了。当然,也有一些同学应该也听说可以使用conda来安装一些第三方的开源包。那么,python的包管理工具pip是一个什么样的东西?conda作为一个替代者或者补充,与pip有什么区别,二者分布适合什么情况下使用呢?本文将根据我的个人经验与观点为大家做一个简单的说明。

小木 318 conda/pip/python/编程语言
Python包中__init__.py文件的作用和用法

在Python工程中,我们经常可以看到带有“\_\_init\_\_.py”文件的目录,在PyCharm中,带有这个文件的目录被认为是Python的包目录,与目录的图标有不一样的显示。那么这个文件的作用是什么,我们平时如何使用呢,这篇文章将解释这个问题。

小木 296 python/编程
Python3.10版本的结构模式匹配(structural pattern matching)简介

Python最新正式版本3.10在10月4日已经发布。这个版本从2020年5月开始开发,经历差不多一年半的时间终于正式发布。当然每一个新版本都有很多新功能。我们将持续关注新功能,在这篇文章中,我们将简述3.10中新功能中的语法——结构模式匹配(structural pattern matching)。

小木 342 python/structuralpatternmatching/结构模式匹配
为初学者、中级和有经验的开发者提供70多个python项目

为初学者、中级和有经验的开发者提供70多个python项目, 10000, 小木, PythonHub今天在推上给大家分享了一个非常棒的项目,就是这个为为初学者、中级和有经验的开发者提供70多个python项目。 亲自动手实践一些项目可以增加我们的实际的编程技巧。每一次都做一点将会得到很多。很多人都在GitHub、Reddit或者是Quera上搜索过哪些项目可以让Python初学者、中级者增加经验的Python项目。这次它来了。

小木 1046 python/编程/项目
python中configparser读取配置文件的大小写和重复项问题

使用配置文件控制程序的运行是一种非常常见的编程技巧,因此配置文件的解析是所有编程语言中都不可缺少的模块。在Python中,通常使用configparser模块进行配置文件解析。但是configparser解析配置文件有几个常见问题:读取当前项目下某个位置的配置文件、重复配置项的处理以及大小写配置项的读取。本文将描述如何解决这三个问题。

小木 1003 python/编程
运行dask程序报错:Task exception was never retrieved

运行本地dask集群的时候出错Task exception was never retrieved的解决方法

小木 841 dask/python/编程
Python报Memory Error或者是numpy报ValueError: array is too big; `arr.size * arr.dtype.itemsize` 的解决方法

有的时候使用Python遇到内存溢出的问题,但其实机器剩余内存很多。需要注意Python版本是否正确

小木 725 python/编程
NumPy新版本发布了~~1.20.0横空出世

NumPy是Python中非常优秀的一个数据科学工具包,使用Python做数据分析的童鞋几乎是必备的工具。NumPy的提供了非常丰富的计算能力,但是底层是C语言实现的,因此既有Python语法的低门槛,速度上却依然非常好。NumPy本身也和Pandas、SciPy一起成为一种生态了。今天,NumPy发布了1.20.0最新版本,这个版本的改动很大。值得童鞋们关注~

小木 1584 numpy/python
Dask调度器简介

Dask支持多种调度器,从单线程、多线程、多进程到本地分布式和集群分布式,各种调度器在不同情况下有不同的作用,本文来源于Dask官方文档的翻译,主要向大家介绍这五种调度器的使用情景和方式。最后提供了如何在不同情境下设置Dask调度器的方法。

小木 3595 Dask/Python/分布式处理
Dask的Merge操作性能对比

在前面的博客中,我们已经对`Dask`做了一点简单的介绍了,在这篇博客中我们来对比一下`Dask`的`DataFrame`在不同条件下的运算性能,主要是连接操作的性能(merge)。

小木 1986 dask/python/分布式计算
Dask分布式任务中包含写文件的方法时候,程序挂起不结束的解决方案

使用Dask进行分布式处理的时候一个最常见的场景是有很多个文件,每个文件由一个进程处理。这种操作经常会遇到一个程序挂起的问题,使得程序永远运行,无法结束。本文描述如何解决。

小木 1352 dask/python
pandas.DataFrame.to_csv和dask.dataframe.to_csv在windows下保存csv文件出现多个换行结果

使用pandas的DataFrame和dask的DataFrame保存数据到csv文件时候会出现两个换行符的情况。本文描述如何解决。

小木 2145 dask/pandas/python
通过命令行的方式建立Dask集群

Dask的集群启动创建也很简单,有好几种方式,最简单的是采用官方提供dask-scheduler和dask-worker命令行方式。本文描述如何使用命令行方法建立Dask集群。

小木 1673 dask/python/分布式编程
并行计算中如何提高处理效率——来自Dask的提示

当数据量达到一定程度,单机的处理能力会无法达到性能的要求,采用并行计算,并利用多台服务器进行分布式处理可能会提升数据处理的速度,达到性能要求。然而如果使用不当,并行处理可能并不会提升处理的速度。这篇博客介绍了Dask中关于并行处理的一些效率方面的建议,尽管是针对Dask的说明,但对于所有的并行处理来说都是适用的。

小木 2371 Dask/Python/分布式数据处理
Dask的本地集群配置和编程

Dask提供了多种分布式调度器,当缺少多台服务器时候,也可以通过本地集群来实现单机分布式的计算。这篇博客主要就是介绍如何实现Dask的单机分布式调度器。第一小节是简介,第二节是单机调度器的简写版本,第三节是单机调度器的完整版本,第四节是使用的一些示例。

小木 2585 Dask/Python/分布式处理/编程
Pandas的DataFrame选择行或者列的注意事项

Pandas中的DataFrame选择某些行和某些列是有很多中操作和选择的,不太容易记,这里整理一下。

小木 3354 pandas/python/编程
考虑价格和促销影响的销售预测算法实践

这是一篇来自Towards Data Science上面的一篇个人实践分享,主要是针对销量进行预测。一般来说,销量受到价格、季节等因素影响较大。这里就是考虑这些因素进行的一个实践。值得大家一试。这里我们翻译一下,并对其中的某些工作做一些简单的解释。

小木 2459 Prophet/python/时间序列分析/流量预测
softmax作为输出层激活函数的反向传播推导

softmax作为多标签分类中最常用的激活函数,常常作为最后一层存在,并经常和交叉熵损失函数一起搭配使用。这里描述如何推导交叉熵损失函数的推导问题。

小木 3417 python/人工智能/深度学习
Tensorflow中数据集的使用方法(tf.data.Dataset)

Tensorflow中tf.data.Dataset是最常用的数据集类,我们也使用这个类做转换数据、迭代数据等操作。本篇博客将简要描述这个类的使用方法。

小木 11973 python/tensorflow/编程
用python生成随机数的几种方法

本篇博客主要讲解如何从给定参数的的正态分布/均匀分布中生成随机数以及如何以给定概率从数字列表抽取某数字或从区间列表的某一区间内生成随机数,按照内容将博客分为3部分,并附上代码。

夏天的风 3889 Python/随机数生成
用python绘制散点图

如何使用python绘制简单的散点图

夏天的风 4366 Python/散点图
Python中的Pickle操作(pkl文件解释)

您刚刚经历了一个耗时的过程,将一堆数据加载到python对象中。 也许你从数千个网站上爬取了数据。也许你计算了pi的数值。如果您的笔记本电脑电池耗尽或python崩溃,您的信息将丢失。 Pickling允许您将python对象保存为硬盘驱动器上的二进制文件。 在你pickle你的对象后,你可以结束你的python会话,重新启动你的计算机,然后再次将你的对象加载到python中。

小木 17729 python/序列化