Pandas0.25来了千万别错过这10大好用的新功能

yizhihongxing

Pandas0.25来了千万别错过这10大好用的新功能

Pandas是Python中常用的数据分析库之一,它提供了很多方便数据操作的功能,如数据预处理、清洗、建模等。Pandas 0.25版本带来了许多新功能,下面我们来一一解析。

1. 新的字符串操作(String Methods)

Pandas 0.25中增加了一种可直接在Series和Index上进行的新的字符串方法—— .str。在处理数据时,我们经常需要对字符类型的Series或Dataframe的某一列进行处理,这时可以使用这种方法:

import pandas as pd

s = pd.Series(['cat','dog','snake'])
s.str.upper()

在上例中,s.str.upper()把字符串中的字母全部转换成大写字母,得到的结果为:

0    CAT
1    DOG
2  SNAKE
dtype: object

2. 计算缺失值比例(Missing Values Percentage)

在处理数据时,经常需要计算缺失值的比例或直接删除缺失值。Pandas 0.25中新增了一个值得关注的函数—— pandas.DataFrame.isna(),它可以帮助我们计算出DataFrame中所有列的缺失值比例。比如:

import pandas as pd

train = pd.read_csv('train.csv')

for col in train.columns:
    pct_missing = train[col].isna().mean()
    print(f'{col} - {pct_missing :.1%}')

运行结束后,会输出每列的缺失值比例,像这样:

col1 - 10.5%
col2 - 0.3%
col3 - 3.4%
col4 - 20.0%
col5 - 80.3%

3. stacking和unstacking的优化(Optimizations for Stacking and Unstacking)

Pandas 0.25对stacking和unstacking函数进行了一些优化,这些函数在整理多维数据(例如交叉制表操作)时用了。具体的方法可以查看Pandas的文档。

4. 可选的2阶的method参数

在一些需要使用rolling函数的场景中,我们需要在有缺失值的情况下进行计算。但此前当数据中存在缺失值时rolling函数无法计算,Python会直接抛出异常。为了解决这个问题,Pandas 0.25提供了一个新的可选参数method = 'min'method = 'max',这两个参数可以用来选择当存在缺失值时,应参考缺失值前后的两个数字的哪一个进行计算。示例如下:

import pandas as pd

data=[1,2,3,None,4,None,5,None, 6, None, 7, None, None, 8, 9, 10]
df=pd.DataFrame(data)
# Use both ffill and bfill to deal with NaN/missing values
df.interpolate(method='linear',limit_direction='forward',limit=2)

在上面的例子中,method='linear'表示采用线性插值处理空缺值,另外limit_directionlimit分别指定了插值时的限制方向和最大连续缺失值数量。

5. 更快的Groupby

对一个DataFrame进行分组操作时,我们通常会使用groupby函数。在Pandas 0.25中,groupby操作会更加快速和稳定。同时在应用函数时,我们可以使用assign函数来代替transform,这样可以获得更快的速度。

6. DataFrame.to_numpy()用户自定义dtypes的支持

Pandas中的DataFrame.to_numpy()方法可以将DataFrame转换为NumPy数组,这个方法在Pandas 0.25中增加了对用户自定义dtypes的支持。用户现在可以将DataFrame转换为任何类型的NumPy数组了。

7. 改进的Rolling函数

pandas.DataFrame.rolling()函数现在支持三种Rolling方式——rolling, expanding, 和ewm。这些函数都被重新设计过,更加高效,支持方便的计算和筛选,具体详细可以参考文档。

8. 改进的Categorical类型

在Pandas 0.25中,Categorical类型支持了一个新的方法——to_numpy()。同时该类型还更加高效,并且支持了更多的运算符重载。

9. 自定义Rolling运算

在Pandas 0.25中,rolling函数提供了自定义Rolling运算的方法,我们可以使用自己编写的函数来进行计算。比如下面的示例:

import pandas as pd
import numpy as np

df=pd.DataFrame(np.random.randn(10, 3))
df.rolling(window=3, min_periods=1).apply(lambda x:np.max(x) - np.min(x), raw=True)

在上面的示例中,我们使用apply函数将自己编写的匿名函数传递给了rolling函数进行累计计算。

10. 改进的Datetime类型

在Pandas 0.25中,Datetime类型增加了一些新方法,包括asfreqinfer_objects。另外,这个类型中的to_pydatetime方法现在支持了tz_localize、“”tz_localize21等等。这个类型还支持了一些新的时间戳格式,包括XEe

至此,我们介绍了10个Pandas 0.25中的新功能。这些新功能不仅可以更快地完成许多常见的数据处理任务,还提高了Pandas的稳定性和易用性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas0.25来了千万别错过这10大好用的新功能 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 在Python中等距取出一个数组其中n个数的实现方式

    要在Python中等距取出一个数组其中n个数,可以通过以下步骤实现: 确定数组长度:获取原数组arr的长度,即len(arr); 确定步长:计算步长step,即每次取数的间隔。可以通过取整的方式将原数组长度除以所需取出的数的个数n,得到每个数之间的间隔step = int(len(arr) / n); 取出n个数:通过循环,从数组的第一个元素开始,每隔ste…

    python 2023年6月6日
    00
  • Python中JSON的使用方法(超详细)

    Python中JSON的使用方法(超详细) 什么是JSON JSON(JavaScript Object Notation),是一种轻量级的数据交换格式。它基于JavaScript语法的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。在Python中,我们可以通过内置的json模块对JSON数据进行处理。 JSON的基本语法 JSON的基本语法规…

    python 2023年5月14日
    00
  • Python 实现一行输入多个数字(用空格隔开)

    要实现一行输入多个数字(用空格隔开),可以使用Python中的split函数来将输入的字符串按照空格分割成一个列表,然后再将列表中的每个数字转换为整数或浮点数。 下面是Python实现一行输入多个数字的示例代码: # 输入多个整数时示例 nums = input("请输入多个整数,用空格隔开:").split() nums = [int(…

    python 2023年6月6日
    00
  • python中的lambda表达式用法详解

    Python中的Lambda表达式用法详解 Lambda表达式是Python中的一种匿名函数,它可以在一行代码中定义简单的函数。本文将详细讲解Python中的Lambda表达式用法,包括Lambda表达的语法、应用场景以及示例说明。 Lambda表达式的语法 Lambda表达式的语法非常简单,由关字lambda、参数列表和表达式组成。Lambda表达式的基本…

    python 2023年5月13日
    00
  • 详解Python 函数参数*args和**kwargs

    Python 函数参数 *args 和 **kwargs 是在函数定义时使用的特殊语法,它们可以接收任意数量的位置参数和关键字参数,而函数的参数数量和名称在定义时是未知的。下面我给您讲解一下这两种参数的使用方法。 *args *args 用于接收可变数量的位置参数,它把传入的所有位置参数都放在一个元组中,而这个元组就是 args。以下是示例: def sum…

    python-answer 2023年3月25日
    00
  • Python实现图片添加文字

    下面是Python实现图片添加文字的完整攻略: 1. 准备工具和环境 首先,我们需要确保电脑中有Python环境和ImageMagick工具。可以在终端中通过以下命令检查: python –version convert -version 如果命令行输出了相应版本的信息,那么就说明已经具备了必要的工具和环境。 2. 使用Python库Pillow打开图片 …

    python 2023年6月6日
    00
  • Python入门教程(三十八)Python的NumPy库简介

    以下是关于“Python入门教程(三十八)Python的NumPy库简介”的完整攻略。 一、什么是NumPy库 NumPy是Python中用于科学计算的一个第三方库,它能够处理各种数据类型,可用于储存和处理大型矩阵,以及矩阵运算和数据分析等。NumPy库是其他库和框架的基础,如Pandas、Scipy、Scikit-Learn和TensorFlow等。 二、…

    python 2023年6月5日
    00
  • Django DRF认证组件流程实现原理详解

    Django DRF认证组件流程实现原理详解 Django DRF认证组件是 Django Rest Framework 安全认证的模块,主要作用是为 Web API 提供相应的认证服务,可以基于 Token 认证、Session 认证、Cookie 认证等多种方式进行身份认证。 DRF认证组件的工作原理 DRF认证组件的工作流程如下: 发送请求:当客户端发…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部