|
目录一、用法精讲141、pandas.Series.agg(regate)方法141-1、语法141-2、参数141-3、功能141-4、返回值141-5、说明141-6、用法141-6-1、数据准备141-6-2、代码示例141-6-3、结果输出142、pandas.Series.transform方法142-1、语法142-2、参数142-3、功能142-4、返回值142-5、说明142-6、用法142-6-1、数据准备142-6-2、代码示例142-6-3、结果输出143、pandas.Series.map方法143-1、语法143-2、参数143-3、功能143-4、返回值143-5、说明143-6、用法143-6-1、数据准备143-6-2、代码示例143-6-3、结果输出144、pandas.Series.groupby方法144-1、语法144-2、参数144-3、功能144-4、返回值144-5、说明144-6、用法144-6-1、数据准备144-6-2、代码示例144-6-3、结果输出145、pandas.Series.rolling方法145-1、语法145-2、参数145-3、功能145-4、返回值145-5、说明145-6、用法145-6-1、数据准备145-6-2、代码示例145-6-3、结果输出二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页一、用法精讲141、pandas.Series.agg(regate)方法141-1、语法#141、pandas.Series.agg(regate)方法pandas.Series.agg(func=None,axis=0,*args,**kwargs)Aggregateusingoneormoreoperationsoverthespecifiedaxis.Parameters:funcfunction,str,listordictFunctiontouseforaggregatingthedata.Ifafunction,musteitherworkwhenpassedaSeriesorwhenpassedtoSeries.apply.Acceptedcombinationsare:functionstringfunctionnamelistoffunctionsand/orfunctionnames,e.g.[np.sum,'mean']dictofaxislabels->functions,functionnamesorlistofsuch.axis{0or‘index’}Unused.ParameterneededforcompatibilitywithDataFrame.*argsPositionalargumentstopasstofunc.**kwargsKeywordargumentstopasstofunc.Returns:scalar,SeriesorDataFrameThereturncanbe:scalar:whenSeries.aggiscalledwithsinglefunctionSeries:whenDataFrame.aggiscalledwithasinglefunctionDataFrame:whenDataFrame.aggiscalledwithseveralfunctions141-2、参数141-2-1、func(可选,默认值为None):可以是单个函数、函数名(字符串)或者一个函数列表/字典,指定要应用的聚合函数。141-2-2、axis(可选,默认值为0):表示按行聚合,在Series上时,该参数通常不必设置,因为Series只有一维。141-2-3、*args(可选):额外的位置参数,将传递给函数。141-2-4、**kwargs(可选):关键字参数,将传递给函数。141-3、功能 用于对Series中的数据应用聚合函数。141-4、返回值 返回聚合后的结果,具体类型取决于应用的聚合函数的类型。141-5、说明 使用场景:141-5-1、统计分析:计算总和、均值、最小值、最大值等。141-5-2、数据概括:对数据进行概括和简单描述。141-5-3、自定义统计:自定义聚合函数用于特殊的统计需求。141-6、用法141-6-1、数据准备无141-6-2、代码示例#141、pandas.Series.agg(regate)方法#141-1、使用单个函数importpandasaspd#创建一个示例Seriess=pd.Series([3,5,6,8,10,11,24])sum_result=s.agg('sum')print(f"Sum:{sum_result}",end='\n\n')#141-2、使用多个聚合函数importpandasaspd#创建一个示例Seriess=pd.Series([3,5,6,8,10,11,24])agg_result=s.agg(['sum','mean','min','max'])print(agg_result,end='\n\n')#141-3、使用自定义的聚合函数importpandasaspd#创建一个示例Seriess=pd.Series([3,5,6,8,10,11,24])defrange_func(x):returnx.max()-x.min()range_result=s.agg(range_func)print(f"Range:{range_result}",end='\n\n')#141-4、使用字典指定不同函数importpandasaspd#创建一个示例Seriess=pd.Series([3,5,6,8,10,11,24])agg_dict_result=s.agg({'sum':'sum','average':'mean'})print(agg_dict_result)141-6-3、结果输出#141、pandas.Series.agg(regate)方法#141-1、使用单个函数#Sum:67#141-2、使用多个聚合函数#sum67.000000#mean9.571429#min3.000000#max24.000000#dtype:float64#141-3、使用自定义的聚合函数#Range:21#141-4、使用字典指定不同函数#sum67.000000#average9.571429#dtype:float64142、pandas.Series.transform方法142-1、语法#142、pandas.Series.transform方法pandas.Series.transform(func,axis=0,*args,**kwargs)CallfunconselfproducingaSerieswiththesameaxisshapeasself.Parameters:funcfunction,str,list-likeordict-likeFunctiontousefortransformingthedata.Ifafunction,musteitherworkwhenpassedaSeriesorwhenpassedtoSeries.apply.Iffuncisbothlist-likeanddict-like,dict-likebehaviortakesprecedence.Acceptedcombinationsare:functionstringfunctionnamelist-likeoffunctionsand/orfunctionnames,e.g.[np.exp,'sqrt']dict-likeofaxislabels->functions,functionnamesorlist-likeofsuch.axis{0or‘index’}Unused.ParameterneededforcompatibilitywithDataFrame.*argsPositionalargumentstopasstofunc.**kwargsKeywordargumentstopasstofunc.Returns:SeriesASeriesthatmusthavethesamelengthasself.Raises:ValueErrorIfthereturnedSerieshasadifferentlengththanself.142-2、参数142-2-1、func(必须):表示要应用于每个元素的函数,可以是单个函数或函数列表。142-2-2、axis(可选,默认值为0):对于Series总是0,因为Series是一维的。142-2-3、*args(可选):传递给func的位置参数。142-2-4、**kwargs(可选):传递给func的关键字参数。142-3、功能 用于对Series应用一个函数,该方法返回一个具有与输入相同形状的Series,但每个元素都经过函数处理。142-4、返回值 一个经过转换的Series,长度与输入相同。142-5、说明142-5-1、transform类似于apply,但transform确保输出与输入形状相同。142-5-2、该方法在需要应用转换并保持原始结构时特别有用,例如在分组操作时。142-6、用法142-6-1、数据准备无142-6-2、代码示例#142、pandas.Series.transform方法#142-1、应用单个函数importpandasaspd#示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#要应用的函数defsquare(x):returnx**2#应用transformtransformed_data=data.transform(square)print(transformed_data,end='\n\n')#142-2、应用多个函数importpandasaspd#示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#要应用的函数列表funcs=[lambdax:x+1,lambdax:x*2]#创建一个空的DataFrame来存储结果transformed_df=pd.DataFrame()#使用循环应用多个函数fori,funcinenumerate(funcs):transformed_df[f'func_{i+1}']=data.transform(func)#输出结果print(transformed_df)142-6-3、结果输出#142、pandas.Series.transform方法#142-1、应用单个函数#09#125#236#364#4100#5121#6576#dtype:int64#142-2、应用多个函数#func_1func_2#046#1610#2712#3916#41120#51222#62548143、pandas.Series.map方法143-1、语法#143、pandas.Series.map方法pandas.Series.map(arg,na_action=None)MapvaluesofSeriesaccordingtoaninputmappingorfunction.UsedforsubstitutingeachvalueinaSerieswithanothervalue,thatmaybederivedfromafunction,adictoraSeries.Parameters:argfunction,collections.abc.MappingsubclassorSeriesMappingcorrespondence.na_action{None,‘ignore’},defaultNoneIf‘ignore’,propagateNaNvalues,withoutpassingthemtothemappingcorrespondence.Returns:SeriesSameindexascaller.143-2、参数143-2-1、arg(必须):函数、字典或Series,用于映射每个元素。143-2-2、na_action(可选,默认值为None):指定对缺失值的处理方式,如果设置为'ignore',则缺失值将不进行映射。143-3、功能 用于将给定函数或映射(如字典、Series等)应用到Series的每个元素上,并返回一个新Series,它主要用于元素级别的转换或替换操作。143-4、返回值 一个新的Series,其中的每个元素都根据提供的arg进行了映射或转换。143-5、说明 pandas.Series.map方法是一个灵活的工具,用于将特定函数或映射应用到Series的每个元素,它支持处理缺失值,并且可以与各种映射对象(如字典、函数等)配合使用,非常适合进行元素级别的转换和替换操作。143-6、用法143-6-1、数据准备无143-6-2、代码示例#143、pandas.Series.map方法#143-1、使用函数进行映射importpandasaspd#示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#映射函数:将每个元素平方transformed_data=data.map(lambdax:x**2)print(transformed_data,end='\n\n')#143-2、使用字典进行映射importpandasaspd#示例Seriesdata=pd.Series(['Myelsa','Jimmy','bryce'])#映射字典mapping={'Myelsa':'爸爸','Jimmy':'儿子','bryce':'女儿'}#应用map进行映射mapped_data=data.map(mapping)print(mapped_data,end='\n\n')#143-3、处理缺失值importpandasaspd#示例Series,包含缺失值data=pd.Series([3,5,None,6,8])#映射函数transformed_data=data.map(lambdax:x**2,na_action='ignore')print(transformed_data)143-6-3、结果输出#143、pandas.Series.map方法#143-1、使用函数进行映射#09#125#236#364#4100#5121#6576#dtype:int64#143-2、使用字典进行映射#0爸爸#1儿子#2女儿#dtypebject#143-3、处理缺失值#09.0#125.0#2NaN#336.0#464.0#dtype:float64144、pandas.Series.groupby方法144-1、语法#144、pandas.Series.groupby方法pandas.Series.groupby(by=None,axis=0,level=None,as_index=True,sort=True,group_keys=True,observed=_NoDefault.no_default,dropna=True)GroupSeriesusingamapperorbyaSeriesofcolumns.Agroupbyoperationinvolvessomecombinationofsplittingtheobject,applyingafunction,andcombiningtheresults.Thiscanbeusedtogrouplargeamountsofdataandcomputeoperationsonthesegroups.Parameters:bymapping,function,label,pd.GrouperorlistofsuchUsedtodeterminethegroupsforthegroupby.Ifbyisafunction,it’scalledoneachvalueoftheobject’sindex.IfadictorSeriesispassed,theSeriesordictVALUESwillbeusedtodeterminethegroups(theSeries’valuesarefirstaligned;see.align()method).Ifalistorndarrayoflengthequaltotheselectedaxisispassed(seethegroupbyuserguide),thevaluesareusedas-istodeterminethegroups.Alabelorlistoflabelsmaybepassedtogroupbythecolumnsinself.Noticethatatupleisinterpretedasa(single)key.axis{0or‘index’,1or‘columns’},default0Splitalongrows(0)orcolumns(1).ForSeriesthisparameterisunusedanddefaultsto0.Deprecatedsinceversion2.1.0:Willberemovedandbehavelikeaxis=0inafutureversion.Foraxis=1,doframe.T.groupby(...)instead.levelint,levelname,orsequenceofsuch,defaultNoneIftheaxisisaMultiIndex(hierarchical),groupbyaparticularlevelorlevels.Donotspecifybothbyandlevel.as_indexbool,defaultTrueReturnobjectwithgrouplabelsastheindex.OnlyrelevantforDataFrameinput.as_index=Falseiseffectively“SQL-style”groupedoutput.Thisargumenthasnoeffectonfiltrations(seethefiltrationsintheuserguide),suchashead(),tail(),nth()andintransformations(seethetransformationsintheuserguide).sortbool,defaultTrueSortgroupkeys.Getbetterperformancebyturningthisoff.Notethisdoesnotinfluencetheorderofobservationswithineachgroup.Groupbypreservestheorderofrowswithineachgroup.IfFalse,thegroupswillappearinthesameorderastheydidintheoriginalDataFrame.Thisargumenthasnoeffectonfiltrations(seethefiltrationsintheuserguide),suchashead(),tail(),nth()andintransformations(seethetransformationsintheuserguide).Changedinversion2.0.0:Specifyingsort=Falsewithanorderedcategoricalgrouperwillnolongersortthevalues.group_keysbool,defaultTrueWhencallingapplyandthebyargumentproducesalike-indexed(i.e.atransform)result,addgroupkeystoindextoidentifypieces.Bydefaultgroupkeysarenotincludedwhentheresult’sindex(andcolumn)labelsmatchtheinputs,andareincludedotherwise.Changedinversion1.5.0:Warnsthatgroup_keyswillnolongerbeignoredwhentheresultfromapplyisalike-indexedSeriesorDataFrame.Specifygroup_keysexplicitlytoincludethegroupkeysornot.Changedinversion2.0.0:group_keysnowdefaultstoTrue.observedbool,defaultFalseThisonlyappliesifanyofthegroupersareCategoricals.IfTruenlyshowobservedvaluesforcategoricalgroupers.IfFalse:showallvaluesforcategoricalgroupers.Deprecatedsinceversion2.1.0:ThedefaultvaluewillchangetoTrueinafutureversionofpandas.dropnabool,defaultTrueIfTrue,andifgroupkeyscontainNAvalues,NAvaluestogetherwithrow/columnwillbedropped.IfFalse,NAvalueswillalsobetreatedasthekeyingroups.Returns:pandas.api.typing.SeriesGroupByReturnsagroupbyobjectthatcontainsinformationaboutthegroups.144-2、参数144-2-1、by(可选,默认值为None):用于分组的标准,可以是函数、字符串、列表或字典。144-2-2、axis(可选,默认值为0):指定操作的轴。144-2-3、level(可选,默认值为None):用于多层索引分组的级别。144-2-4、as_index(可选,默认值为True):如果为True,分组键会成为结果DataFrame的索引。144-2-5、sort(可选,默认值为True):对分组键进行排序。144-2-6、group_keys(可选,默认值为True):如果为True,将分组键包含在结果中。144-2-7、observed(可选):对于分类数据类型,是否只显示观察到的分类。144-2-8、dropna(可选,默认值为True):如果为True,丢弃包含NA的分组。144-3、功能 用于对Series数据进行分组操作,然后可以对每个分组应用聚合、转换或其他操作,这在数据分析中非常有用,尤其是在需要基于某些条件对数据进行分组和处理时。144-4、返回值 返回一个pandas.core.groupby.SeriesGroupBy对象,可以对其应用各种聚合和转换操作。144-5、说明 pandas.Series.groupby是一个强大的方法,可以根据不同的标准对数据进行分组,并对每个分组进行各种操作。无论是基于索引、函数还是多层索引,groupby都提供了灵活的分组方式,并且能够与其他pandas方法结合使用,进行复杂的数据分析和处理。144-6、用法144-6-1、数据准备无144-6-2、代码示例#144、pandas.Series.groupby方法#144-1、数据聚合importpandasaspd#创建一个示例Seriesdata=pd.Series([10,20,30,40,50,60],index=['A','A','B','B','C','C'])#按索引分组并求和grouped_sum=data.groupby(data.index).sum()print(grouped_sum,end='\n\n')#144-2、数据转换importpandasaspd#创建一个示例Seriesdata=pd.Series([10,20,30,40,50,60],index=['A','A','B','B','C','C'])#归一化每个组的数据grouped_normalized=data.groupby(data.index).apply(lambdaxx-x.mean())/x.std())print(grouped_normalized,end='\n\n')#144-3、数据筛选importpandasaspd#创建一个示例Seriesdata=pd.Series([10,20,30,40,50,60],index=['A','A','B','B','C','C'])#找出每组的最大值grouped_max=data.groupby(data.index).max()print(grouped_max,end='\n\n')#144-4、数据填充importpandasaspd#创建一个示例Seriesdata=pd.Series([10,20,30,40,50,60],index=['A','A','B','B','C','C'])#创建一个带有缺失值的示例Seriesdata_with_nan=pd.Series([10,20,None,40,50,None],index=['A','A','B','B','C','C'])#用每组的均值填充缺失值grouped_filled=data_with_nan.groupby(data_with_nan.index).transform(lambdax:x.fillna(x.mean()))print(grouped_filled,end='\n\n')#144-5、分组统计importpandasaspd#创建一个示例Seriesdata=pd.Series([10,20,30,40,50,60],index=['A','A','B','B','C','C'])#计算每组的标准差grouped_std=data.groupby(data.index).std()print(grouped_std,end='\n\n')#144-6、时间序列分析importpandasaspd#创建一个示例时间序列date_range=pd.date_range(start='2024-01-01',periods=6,freq='ME')time_series_data=pd.Series([100,200,300,400,500,600],index=date_range)#按年分组并求和grouped_by_year=time_series_data.groupby(time_series_data.index.year).sum()print(grouped_by_year,end='\n\n')#144-7、分类数据分析importpandasaspd#创建一个分类数据的示例Seriescategory_data=pd.Series([1,2,2,3,3,3],index=['Myelsa','Alex','Lucy','Myelsa','Alex','Myelsa'])#按类别分组并计数grouped_count=category_data.groupby(category_data.index).count()print(grouped_count)144-6-3、结果输出#144、pandas.Series.groupby方法#144-1、数据聚合#A30#B70#C110#dtype:int64#144-2、数据转换#AA-0.707107#A0.707107#BB-0.707107#B0.707107#CC-0.707107#C0.707107#dtype:float64#144-3、数据筛选#A20#B40#C60#dtype:int64#144-4、数据填充#A10.0#A20.0#B40.0#B40.0#C50.0#C50.0#dtype:float64#144-5、分组统计#A7.071068#B7.071068#C7.071068#dtype:float64#144-6、时间序列分析#20242100#dtype:int64#144-7、分类数据分析#Alex2#Lucy1#Myelsa3#dtype:int64145、pandas.Series.rolling方法145-1、语法#145、pandas.Series.rolling方法pandas.Series.rolling(window,min_periods=None,center=False,win_type=None,on=None,axis=_NoDefault.no_default,closed=None,step=None,method='single')Providerollingwindowcalculations.Parameters:windowint,timedelta,str,offset,orBaseIndexersubclassSizeofthemovingwindow.Ifaninteger,thefixednumberofobservationsusedforeachwindow.Ifatimedelta,str,oroffset,thetimeperiodofeachwindow.Eachwindowwillbeavariablesizedbasedontheobservationsincludedinthetime-period.Thisisonlyvalidfordatetimelikeindexes.Tolearnmoreabouttheoffsets&frequencystrings,pleaseseethislink.IfaBaseIndexersubclass,thewindowboundariesbasedonthedefinedget_window_boundsmethod.Additionalrollingkeywordarguments,namelymin_periods,center,closedandstepwillbepassedtoget_window_bounds.min_periodsint,defaultNoneMinimumnumberofobservationsinwindowrequiredtohaveavalue;otherwise,resultisnp.nan.Forawindowthatisspecifiedbyanoffset,min_periodswilldefaultto1.Forawindowthatisspecifiedbyaninteger,min_periodswilldefaulttothesizeofthewindow.centerbool,defaultFalseIfFalse,setthewindowlabelsastherightedgeofthewindowindex.IfTrue,setthewindowlabelsasthecenterofthewindowindex.win_typestr,defaultNoneIfNone,allpointsareevenlyweighted.Ifastring,itmustbeavalidscipy.signalwindowfunction.CertainScipywindowtypesrequireadditionalparameterstobepassedintheaggregationfunction.TheadditionalparametersmustmatchthekeywordsspecifiedintheScipywindowtypemethodsignature.onstr,optionalForaDataFrame,acolumnlabelorIndexlevelonwhichtocalculatetherollingwindow,ratherthantheDataFrame’sindex.Providedintegercolumnisignoredandexcludedfromresultsinceanintegerindexisnotusedtocalculatetherollingwindow.axisintorstr,default0If0or'index',rollacrosstherows.If1or'columns',rollacrossthecolumns.ForSeriesthisparameterisunusedanddefaultsto0.Deprecatedsinceversion2.1.0:Theaxiskeywordisdeprecated.Foraxis=1,transposetheDataFramefirstinstead.closedstr,defaultNoneIf'right',thefirstpointinthewindowisexcludedfromcalculations.If'left',thelastpointinthewindowisexcludedfromcalculations.If'both',thenopointsinthewindowareexcludedfromcalculations.If'neither',thefirstandlastpointsinthewindowareexcludedfromcalculations.DefaultNone('right').stepint,defaultNoneNewinversion1.5.0.Evaluatethewindowateverystepresult,equivalenttoslicingas[::step].windowmustbeaninteger.UsingastepargumentotherthanNoneor1willproducearesultwithadifferentshapethantheinput.methodstr{‘single’,‘table’},default‘single’Newinversion1.3.0.Executetherollingoperationpersinglecolumnorrow('single')orovertheentireobject('table').Thisargumentisonlyimplementedwhenspecifyingengine='numba'inthemethodcall.Returns:pandas.api.typing.Windoworpandas.api.typing.RollingAninstanceofWindowisreturnedifwin_typeispassed.Otherwise,aninstanceofRollingisreturned.145-2、参数145-2-1、window(必须):滚动窗口的大小,即每次计算时包含的元素数。145-2-2、min_periods(可选,默认值为None):每个窗口中需要的非缺失值的最小数量,如果窗口中非缺失值的数量小于该值,则结果为NaN。145-2-3、center(可选,默认值为False):布尔值,如果为True,则将窗口居中对齐。145-2-4、win_type(可选,默认值为None):窗口类型(如'boxcar','triang','blackman'等),如果提供了此参数,则窗口会按该类型进行加权。145-2-5、on(可选,默认值为None):用于滚动窗口的时间序列或时间戳数据的列名,仅对DataFrame有效。145-2-6、axis(可选):要滚动的轴,0或'index'表示行,1或'columns'表示列。对于Series,只能是0。145-2-7、closed(可选,默认值为None):定义窗口端点是否包含在内,可以是'right','left','both','neither'。145-2-8、step(可选,默认值为None):每次移动窗口的步长,默认为1。145-2-9、method(可选,默认值为'single'):窗口方法,可选'table'(使用更高效的窗口操作)。145-3、功能145-3-1、移动平均值:计算指定窗口大小内的平均值,用于平滑数据。145-3-2、移动总和:计算指定窗口大小内的总和,适用于累积数据分析。145-3-3、移动标准差:计算指定窗口大小内的数据的标准差,用于度量数据的波动性。145-3-4、加权移动平均:使用不同的窗口类型(如三角形、汉宁窗等)来计算加权平均值。145-3-5、移动最大值/最小值:计算窗口内的最大值或最小值。145-3-6、移动中位数:计算窗口内的中位数,用于了解数据的中心趋势。145-3-7、自定义统计量:通过apply方法可以对窗口内的数据应用自定义函数,计算特定的统计量。145-4、返回值 pandas.Series.rolling返回一个Rolling对象,该对象可以进一步调用各种统计方法来计算滚动窗口内的统计量,这些方法包括但不限于:.mean().sum().std().var().min().max().median().apply(func)145-5、说明145-5-1、窗口大小:窗口大小(window)是最关键的参数,决定了每次计算包含的元素数量。145-5-2、缺失值处理:min_periods参数控制每个窗口中需要的非缺失值的最小数量,如果窗口中非缺失值的数量小于该值,结果为NaN。145-5-3、对齐方式:center参数控制窗口是否居中对齐,如果为True,窗口中心对齐当前元素,否则窗口的右端对齐当前元素。145-5-4、加权窗口:通过win_type参数可以指定不同的加权方式,使得窗口内的每个元素具有不同的权重。145-6、用法145-6-1、数据准备无145-6-2、代码示例#145、pandas.Series.rolling方法#145-1、滚动平均值importpandasaspd#创建一个示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#计算滚动平均值,窗口大小为3rolling_mean=data.rolling(window=3).mean()print(rolling_mean,end='\n\n')#145-2、滚动总和importpandasaspd#创建一个示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#计算滚动总和,窗口大小为3rolling_sum=data.rolling(window=3).sum()print(rolling_sum,end='\n\n')#145-3、滚动标准差importpandasaspd#创建一个示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#计算滚动标准差,窗口大小为3rolling_std=data.rolling(window=3).std()print(rolling_std,end='\n\n')#145-4、滚动窗口的加权平均值importpandasaspd#创建一个示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#计算滚动加权平均值,窗口大小为3,窗口类型为'triang'rolling_weighted_mean=data.rolling(window=3,win_type='triang').mean()print(rolling_weighted_mean,end='\n\n')#145-5、自定义步长的滚动平均值importpandasaspd#创建一个示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#计算滚动平均值,窗口大小为3,步长为2rolling_mean_step=data.rolling(window=3,step=2).mean()print(rolling_mean_step,end='\n\n')#145-6、居中对齐的滚动平均值importpandasaspd#创建一个示例Seriesdata=pd.Series([3,5,6,8,10,11,24])#计算居中对齐的滚动平均值,窗口大小为3rolling_mean_centered=data.rolling(window=3,center=True).mean()print(rolling_mean_centered)145-6-3、结果输出#145、pandas.Series.rolling方法#145-1、滚动平均值#0NaN#1NaN#24.666667#36.333333#48.000000#59.666667#615.000000#dtype:float64#145-2、滚动总和#0NaN#1NaN#214.0#319.0#424.0#529.0#645.0#dtype:float64#145-3、滚动标准差#0NaN#1NaN#21.527525#31.527525#42.000000#51.527525#67.810250#dtype:float64#145-4、滚动窗口的加权平均值#0NaN#1NaN#24.75#36.25#48.00#59.75#614.00#dtype:float64#145-5、自定义步长的滚动平均值#0NaN#24.666667#48.000000#615.000000#dtype:float64#145-6、居中对齐的滚动平均值#0NaN#14.666667#26.333333#38.000000#49.666667#515.000000#6NaN#dtype:float64二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页
|
|