当前位置: 首页 > 科技观察

Pandas和NumPy的12个惊人功能

时间:2023-03-12 19:50:35 科技观察

我们都知道Pandas和NumPy很棒,它们在我们的日常分析中起着至关重要的作用。没有Pandas和NumPy,我们将迷失在广阔的数据分析和科学世界中。今天,我将分享12个令人惊叹的Pandas和NumPy函数,它们将使您的生活和分析比以前容易得多。最后,您可以为本文中使用的代码找到一个JupyterNotebook。让我们从NumPy开始吧NumPy是使用Python进行科学计算的基础包。它包含以下内容:强大的N维数组对象复杂(广播)函数用于集成C/C++和Fortran代码的工具有用的线性代数、傅立叶变换和随机数函数通用数据的高效多维容器。可以定义任何数据类型。这使得NumPy能够无缝快速地与各种数据库集成。1.argpartition()NumPy具有查找N个最大索引的惊人功能。输出将是N个最大的索引,然后可以根据需要对值进行排序。x=np.array([12,10,12,0,6,8,9,1,16,4,6,0])index_val=np.argpartition(x,-4)[-4:]index_valarray([1,8,2,0],dtype=int64)np.sort(x[index_val])数组([10,12,12,16])2。allclose()Allclose()用于匹配两个数组并获取输出为布尔值。如果两个数组中的项在公差范围内不相等,则返回False。这是检查两个数组是否相似的好方法,这很难手动完成。array1=np.array([0.12,0.17,0.24,0.29])array2=np.array([0.13,0.19,0.26,0.31])#witholeranceof0.1,itshouldreturnFalse:np.allclose(array1,array2,0.1)False#withatoleranceof0.2,应该返回True:np.allclose(array1,array2,0.2)True3.clip()clip()用于让数组中的值保持在一个区间内。有时,我们需要将值保持在上限和下限内。针对以上目的,我们可以使用NumPy的clip()。给定一个区间,区间外的值会被裁剪到区间的边缘。x=np.array([3,17,14,23,2,2,6,8,1,2,16,0])np.clip(x,2,5)array([3,5,5,5,2,2,5,5,2,2,5,2])4.extract()顾名思义,Extract()用于根据特定条件从数组中提取特定元素。通过extract(),我们还可以使用and和or等??条件。#Randomintegersarray=np.random.randint(20,size=12)arrayarray([0,1,8,19,16,18,10,11,2,13,14,3])#Divideby2andcheckiffremainderis1cond=np.mod(array,2)==1condarray([False,True,False,True,False,False,False,True,False,True,False,True])#Useextracttogetthevaluesnp.extract(cond,array)array([1,19,11,13,3])#Applyconditiononextractdirectlynp.extract(((array<3)|(array>15)),array)array([0,1,19,16,18,2])5.where()where()用于从数组中返回满足特定条件的元素。它在特定条件下返回值的索引位置。这几乎类似于我们在SQL中使用的where条件,我将在下面的示例中演示。y=np.array([1,5,6,8,1,7,3,6,9])#Whereyisgreaterthan5,returnsindexpositionnp.where(y>5)array([2,3,5,7,8],dtype=int64),)#Firstwillreplacethevaluesthatmatchthecondition,#secondwillreplacethevaluesthatdoesnotnp.where(y>5,"Hit","Miss")array(['Miss','Miss','Hit','Hit','Miss','命中','未命中','命中','命中'],dtype='