该模块下有10个函数,应该都是比较有用的函数。比较多的没有理解,这里需要仔细一点
apply(1):4个参数,func要求置入函数,convert_dtype转换为更合适的数据类型,args在当函数参数值>1的时候,可以设置一个元组来配置对应参数的入参值,元组中的入参值为n-1,**kwds和args的情况差不多,不过使用的是字典的形式。 这个函数功能可以通过自定义函数来处理Series中的数据,可用性比较高。
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])#返回一个数组列表def add0(arg0):return [0,1]print(dp.apply(add0))#返回一个数值def add1(arg1):return arg1print(dp.apply(add1))#args参数的使用def add2(arg0,arg1,arg2):return arg0+arg1+arg2print(dp.apply(add2,args=('a','c')))print(dp.apply(add2,arg1='a',arg2='c'))
agg(2):func=None,axis,args,kwargs除了axis设置0或’index’,func的入参更多样,且限定入参的函数,其它和apply没有太大的差别。agg可以直接通过列表存放函数名来调用pandas的内部函数,算是一种便利了。
list0 = ['a','b','c','d']dp = pd.Series(data=list0,index=['a1','b1','c1','d1'])print(dp.agg(['min', 'max','sum','unique']))def add0(arg0):return arg0print(dp.agg(add0,axis='index'))
aggregate(3):和agg差不多。
transform (4):不太明白这个函数的功能,应该是一个比较有用的功能,需要以后在实际的操作中来进行细致的区分了。
list0 = ['a','b','c','d']dp = pd.Series(data=list0)def add1(arg0):return arg0+'aaaaa'print(dp.transform(add1))
map(5):映射Series值对应输入值,作用应该是比较大的,根据需要的值来控制Series的值。
list0 = ['a','b','c','d']dp = pd.Series(data=list0)print(dp.map(dp))print(dp.map({'a':'a'},na_action='ignore'))def add0(arg0):return 'a'print(dp.map(add0,na_action='ignore'))
groupby(6):这个功能比较重要,需要比较大的篇幅来记录一下
rolling(7):这个功能比较重要,需要比较大的篇幅来记录一下
expanding(8):不太明白这个功能的作用,留待后面再来记录。
list0 = ['a','b','c','d']dp = pd.Series(data=list0)print(dp.expanding(4))df = pd.DataFrame({"B": [0, 1, 2, np.nan, 4]})print(df.expanding(2))print(df.expanding(4).sum())
ewm(9):这个功能比较重要,需要比较大的篇幅来记录一下
pipe(10):没明白这个函数功能的意义,留作以后讨论
list0 = ['a','b','c','d']dp = pd.Series(data=list0)def add1(arg):return argprint(dp.pipe(add1))
