找回密码
 会员注册
查看: 44|回复: 0

Python酷库之旅-第三方库Pandas(041)

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-10 01:59:43 | 显示全部楼层 |阅读模式
目录一、用法精讲136、pandas.Series.ne方法136-1、语法136-2、参数136-3、功能136-4、返回值136-5、说明136-6、用法136-6-1、数据准备136-6-2、代码示例136-6-3、结果输出137、pandas.Series.eq方法137-1、语法137-2、参数137-3、功能137-4、返回值137-5、说明137-6、用法137-6-1、数据准备137-6-2、代码示例137-6-3、结果输出138、pandas.Series.product方法138-1、语法138-2、参数138-3、功能138-4、返回值138-5、说明138-6、用法138-6-1、数据准备138-6-2、代码示例138-6-3、结果输出139、pandas.Series.dot方法139-1、语法139-2、参数139-3、功能139-4、返回值139-5、说明139-6、用法139-6-1、数据准备139-6-2、代码示例139-6-3、结果输出140、pandas.Series.apply方法140-1、语法140-2、参数140-3、功能140-4、返回值140-5、说明140-6、用法140-6-1、数据准备140-6-2、代码示例140-6-3、结果输出二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页一、用法精讲136、pandas.Series.ne方法136-1、语法#136、pandas.Series.ne方法pandas.Series.ne(other,level=None,fill_value=None,axis=0)ReturnNotequaltoofseriesandother,element-wise(binaryoperatorne).Equivalenttoseries!=other,butwithsupporttosubstituteafill_valueformissingdataineitheroneoftheinputs.ParameterstherSeriesorscalarvaluelevelintornameBroadcastacrossalevel,matchingIndexvaluesonthepassedMultiIndexlevel.fill_valueNoneorfloatvalue,defaultNone(NaN)Fillexistingmissing(NaN)values,andanynewelementneededforsuccessfulSeriesalignment,withthisvaluebeforecomputation.IfdatainbothcorrespondingSerieslocationsismissingtheresultoffilling(atthatlocation)willbemissing.axis{0or‘index’}Unused.ParameterneededforcompatibilitywithDataFrame.Returns:SeriesTheresultoftheoperation.136-2、参数136-2-1、other(必须):表示要与Series中每个元素进行比较的对象,可以是一个标量值或另一个Series。136-2-2、level(可选,默认值为None):用于指定多重索引的级别。当Series拥有多层索引时使用。136-2-3、fill_value(可选,默认值为None):当other和Series之间存在缺失值时,可以使用这个值来填充缺失部分,帮助确保比较的完整性。136-2-4、axis(可选,默认值为0):该参数在比较Series时通常不需要指定,因为Series只有一个维度。136-3、功能        用于比较Series中每个元素与另一个值或另一Series的方法,具体功能是返回一个布尔型Series,指示每个元素是否不等于提供的值。136-4、返回值        返回一个布尔型Series,指示每个元素是否不等于所提供的other值。136-5、说明        使用场景:136-5-1、数据筛选:可以用.ne()方法在处理数据时筛选出不满足特定条件的行。136-5-2、条件判断:适用于数据分析中需要实施不相等比较的场景。136-6、用法136-6-1、数据准备无136-6-2、代码示例#136、pandas.Series.ne方法#136-1、与一个标量进行比较importpandasaspds=pd.Series([1,2,3,4,5])result=s.ne(3)print(result,end='\n\n')#136-2、与另一个Series进行比较importpandasaspds=pd.Series([1,2,3,4,5])s2=pd.Series([2,3,4,5,6])result2=s.ne(s2)print(result2)136-6-3、结果输出#136、pandas.Series.ne方法#136-1、与一个标量进行比较#0True#1True#2False#3True#4True#dtype:bool#136-2、与另一个Series进行比较#0True#1True#2True#3True#4True#dtype:bool137、pandas.Series.eq方法137-1、语法#137、pandas.Series.eq方法pandas.Series.eq(other,level=None,fill_value=None,axis=0)ReturnEqualtoofseriesandother,element-wise(binaryoperatoreq).Equivalenttoseries==other,butwithsupporttosubstituteafill_valueformissingdataineitheroneoftheinputs.ParameterstherSeriesorscalarvaluelevelintornameBroadcastacrossalevel,matchingIndexvaluesonthepassedMultiIndexlevel.fill_valueNoneorfloatvalue,defaultNone(NaN)Fillexistingmissing(NaN)values,andanynewelementneededforsuccessfulSeriesalignment,withthisvaluebeforecomputation.IfdatainbothcorrespondingSerieslocationsismissingtheresultoffilling(atthatlocation)willbemissing.axis{0or‘index’}Unused.ParameterneededforcompatibilitywithDataFrame.Returns:SeriesTheresultoftheoperation.137-2、参数137-2-1、other(必须):表示要与Series中每个元素进行比较的值,可以是标量(单一值)或另一个Series。137-2-2、level(可选,默认值为None):用于指定多重索引的级别,当Series拥有多层索引时使用。137-2-3、fill_value(可选,默认值为None):当other和Series之间存在缺失值时,可以使用这个值来填充缺失部分,以便进行更全面的比较。137-2-4、axis(可选,默认值为0):对于Series来说,这个参数通常不需要设置,因为Series只有一个维度。137-3、功能        用于比较Series中每个元素与另一个值或另一Series的方法,该方法会返回一个布尔型Series,指示每个元素是否等于提供的值。137-4、返回值        返回一个布尔型Series,表明每个元素是否等于所提供的other值。137-5、说明        使用场景:137-5-1、数据筛选:可以用于从数据集中筛选出满足特定条件的行。137-5-2、条件判断:在数据分析中常用于检查一个Series中的值是否等于某个标准。137-6、用法137-6-1、数据准备无137-6-2、代码示例#137、pandas.Series.eq方法#137-1、与一个标量进行比较importpandasaspds=pd.Series([1,2,3,4,5])result=s.eq(3)print(result,end='\n\n')#137-2、与另一个Series进行比较importpandasaspds=pd.Series([1,2,3,4,5])s2=pd.Series([2,3,4,4,5])result2=s.eq(s2)print(result2)137-6-3、结果输出#137、pandas.Series.eq方法#137-1、与一个标量进行比较#0False#1False#2True#3False#4False#dtype:bool#137-2、与另一个Series进行比较#0False#1False#2False#3True#4True#dtype:bool138、pandas.Series.product方法138-1、语法#138、pandas.Series.product方法pandas.Series.product(axis=None,skipna=True,numeric_only=False,min_count=0,**kwargs)Returntheproductofthevaluesovertherequestedaxis.Parameters:axis{index(0)}Axisforthefunctiontobeappliedon.ForSeriesthisparameterisunusedanddefaultsto0.WarningThebehaviorofDataFrame.prodwithaxis=Noneisdeprecated,inafutureversionthiswillreduceoverbothaxesandreturnascalarToretaintheoldbehavior,passaxis=0(ordonotpassaxis).Newinversion2.0.0.skipnabool,defaultTrueExcludeNA/nullvalueswhencomputingtheresult.numeric_onlybool,defaultFalseIncludeonlyfloat,int,booleancolumns.NotimplementedforSeries.min_countint,default0Therequirednumberofvalidvaluestoperformtheoperation.Iffewerthanmin_countnon-NAvaluesarepresenttheresultwillbeNA.**kwargsAdditionalkeywordargumentstobepassedtothefunction.Returns:scalarorscalar138-2、参数138-2-1、axis(可选,默认值为None):对于Series,这个参数通常不需要设置,因为Series只有一个维度。138-2-2、skipna(可选,默认值为True):如果设为True,则在计算乘积时会忽略缺失值(NaN);如果设为False,并且Series中存在任何缺失值,那么结果将会是NaN。138-2-3、numeric_only(可选,默认值为False):如果设为True,则仅对数值类型的数据进行乘积计算,非数值类型的数据将被忽略。138-2-4、min_count(可选,默认值为0):指定在计算乘积时,能够计算的最小非缺失值数量。如果实际的非缺失值数量小于这个值,则结果将是NaN。例如,如果min_count=2,而只有一个非缺失值,那么结果将会是NaN。138-2-5、**kwargs(可选):其他关键字参数,不常用,通常可以省略。138-3、功能        用于计算Series中所有元素的乘积。138-4、返回值        返回计算得到的乘积,可以是标量值,表示Series中所有元素的乘积。138-5、说明        使用场景:138-5-1、财务计算:经常用于计算投资收益、销售总额等。138-5-2、数据分析:用于聚合数据,进行统计业务分析时,可以求得总的量级138-6、用法138-6-1、数据准备无138-6-2、代码示例#138、pandas.Series.product方法#138-1、计算乘积importpandasaspd#创建一个示例Seriess=pd.Series([1,2,3,4])product_result=s.product()print(product_result,end='\n\n')#138-2、忽略NaN进行乘积计算importpandasaspd#包含NaN值的Seriess_with_nan=pd.Series([1,2,None,4])product_with_nan=s_with_nan.product(skipna=True)print(product_with_nan,end='\n\n')#138-3、不忽略NaN进行乘积计算importpandasaspd#包含NaN值的Seriess_with_nan=pd.Series([1,2,None,4])product_with_nan_inclusive=s_with_nan.product(skipna=False)print(product_with_nan_inclusive,end='\n\n')#138-4、使用numeric_onlyimportpandasaspds_mixed=pd.Series([1,'a',3,4])numeric_series=s_mixed[pd.to_numeric(s_mixed,errors='coerce').notnull()]numeric_product=numeric_series.prod()print(numeric_product)138-6-3、结果输出#138、pandas.Series.product方法#138-1、计算乘积#24#138-2、忽略NaN进行乘积计算#8.0#138-3、不忽略NaN进行乘积计算#nan#138-4、使用numeric_only#12139、pandas.Series.dot方法139-1、语法#139、pandas.Series.dot方法pandas.Series.dot(other)ComputethedotproductbetweentheSeriesandthecolumnsofother.ThismethodcomputesthedotproductbetweentheSeriesandanotherone,ortheSeriesandeachcolumnsofaDataFrame,ortheSeriesandeachcolumnsofanarray.Itcanalsobecalledusingself@other.ParameterstherSeries,DataFrameorarray-likeTheotherobjecttocomputethedotproductwithitscolumns.Returns:scalar,Seriesornumpy.ndarrayReturnthedotproductoftheSeriesandotherifotherisaSeries,theSeriesofthedotproductofSeriesandeachrowsofotherifotherisaDataFrameoranumpy.ndarraybetweentheSeriesandeachcolumnsofthenumpyarray.139-2、参数139-2-1、other(必须):表示另一个Series或类似对象,它应该与调用该方法的Series具有相同的索引,如果other是一个标量,则结果将是标量乘以Series中的每个值。139-3、功能        用于计算两个Series对象之间的点积(内积),该方法对于数值计算非常有用,尤其是在处理矢量和数学运算时。139-4、返回值        返回一个标量,表示两个Series之间的点积。如果Series的索引不匹配,方法将根据索引进行对齐,并仅计算匹配的部分。139-5、说明        使用场景:139-5-1、数学和统计分析:经常用于计算向量的点积,常见于机器学习和数据分析中的特征计算。139-5-2、线性代数:在处理矩阵和线性方程组时,也可以使用这个方法进行计算。139-6、用法139-6-1、数据准备无139-6-2、代码示例#139、pandas.Series.dot方法importpandasaspds1=pd.Series([1,2,3],index=['a','b','c'])s2=pd.Series([4,5,6],index=['a','b','c'])dot_product=s1.dot(s2)print(dot_product)139-6-3、结果输出#139、pandas.Series.dot方法#32(1*4+2*5+3*6=32)140、pandas.Series.apply方法140-1、语法#140、pandas.Series.apply方法pandas.Series.apply(func,convert_dtype=_NoDefault.no_default,args=(),*,by_row='compat',**kwargs)InvokefunctiononvaluesofSeries.Canbeufunc(aNumPyfunctionthatappliestotheentireSeries)oraPythonfunctionthatonlyworksonsinglevalues.Parameters:funcfunctionPythonfunctionorNumPyufunctoapply.convert_dtypebool,defaultTrueTrytofindbetterdtypeforelementwisefunctionresults.IfFalse,leaveasdtype=object.Notethatthedtypeisalwayspreservedforsomeextensionarraydtypes,suchasCategorical.Deprecatedsinceversion2.1.0:convert_dtypehasbeendeprecated.Doser.astype(object).apply()insteadifyouwantconvert_dtype=False.argstuplePositionalargumentspassedtofuncaftertheseriesvalue.by_rowFalseor“compat”,default“compat”If"compat"andfuncisacallable,funcwillbepassedeachelementoftheSeries,likeSeries.map.Iffuncisalistordictofcallables,willfirsttrytotranslateeachfuncintopandasmethods.Ifthatdoesn’twork,willtrycalltoapplyagainwithby_row="compat"andifthatfails,willcallapplyagainwithby_row=False(backwardcompatible).IfFalse,thefuncwillbepassedthewholeSeriesatonce.by_rowhasnoeffectwhenfuncisastring.Newinversion2.1.0.**kwargsAdditionalkeywordargumentspassedtofunc.Returns:SeriesorDataFrameIffuncreturnsaSeriesobjecttheresultwillbeaDataFrame.140-2、参数140-2-1、func(必须):表示要应用的函数,可以是自定义的函数或NumPy的一些函数。140-2-2、convert_dtype(可选):用于指示是否在应用函数后转换返回值的数据类型。140-2-3、args(可选,默认值为'()'):一个元组,传递给函数的额外位置参数。140-2-4、by_row(可选,默认值为'compat'):指示按行应用还是按列应用,通常不需要修改此参数。140-2-5、**kwargs(可选):其他关键字参数,将传递给函数func。140-3、功能        用于将给定的函数应用于Series中的每个元素,该方法可以用于数据转换、数据清洗或特定的计算任务。140-4、返回值        返回一个Series,其中包含函数func应用于原始Series中每个元素的结果。140-5、说明        使用场景:140-5-1、数据清洗:对于数据中的特定值进行转换或清理。140-5-2、自定义计算:应用复杂的计算条件。140-5-3、数据格式化:对数据进行格式化或转换为另一种类型。140-6、用法140-6-1、数据准备无140-6-2、代码示例#140、pandas.Series.apply方法#140-1、使用apply方法应用函数#定义一个简单的函数importpandasaspd#创建一个示例Seriess=pd.Series([1,2,3,4,5])defsquare(x):returnx**2result=s.apply(square)print(result,end='\n\n')#140-2、使用lambda函数#定义一个简单的函数importpandasaspd#创建一个示例Seriess=pd.Series([1,2,3,4,5])defsquare(x):returnx**2result_lambda=s.apply(lambdax:x+10)print(result_lambda,end='\n\n')#140-3、使用额外的参数#定义一个简单的函数importpandasaspd#创建一个示例Seriess=pd.Series([1,2,3,4,5])defsquare(x):returnx**2defmultiply(x,factor):returnx*factorresult_with_args=s.apply(multiply,args=(10,))print(result_with_args)140-6-3、结果输出#140、pandas.Series.apply方法#140-1、使用apply方法应用函数#01#14#29#316#425#dtype:int64#140-2、使用lambda函数#011#112#213#314#415#dtype:int64#140-3、使用额外的参数#010#120#230#340#450#dtype:int64二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-8 12:23 , Processed in 1.380182 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表