Python 应用多个自定义函数

Python 应用多个自定义函数,python,pandas,Python,Pandas,我是python和pandas的新手。我需要对pandas dataframe进行一些简单的解析,以获得一个新的dataframe,它涉及多个函数。下面是一个玩具示例: df = pd.DataFrame({'A' : pd.Series(["T100", "T100", "M100", "M100"]), 'B' : pd.Series(["520", "620", "720", "820"]), 'C' : pd.Series(["10/50", "20/50", "30/50", "50/

我是python和pandas的新手。我需要对pandas dataframe进行一些简单的解析,以获得一个新的dataframe,它涉及多个函数。下面是一个玩具示例:

df = pd.DataFrame({'A' : pd.Series(["T100", "T100", "M100", "M100"]), 'B' : pd.Series(["520", "620", "720", "820"]), 'C' : pd.Series(["10/50", "20/50", "30/50", "50/50"])})

>>> df
      A       B      C
0  T100     520  10/50
1  T100     620  20/50
2  M100     720  30/50
3  M100     820  50/50
这就是我尝试过的(当然它不起作用-它返回了错误
AttributeError:“DataFrame”对象没有属性“agg”
,但我想做的事情就在这里):

我知道我的方法并不是最有效的,因为每次我计算一个函数时,
apply
函数都会在相同的行上重复。有人能帮我吗

>>> ndf = df.apply(lambda x: pd.Series(data=[get_pat_ID(x), get_funcB(x)], index=['pat_ID','get_funcB']), axis=1)
>>> ndf
  pat_ID  get_funcB
0    100  520_10/50
1    100  620_20/50
2    100         NA
3    100         NA
>>> pd.concat([df,ndf], axis=1)
      A    B      C pat_ID  get_funcB
0  T100  520  10/50    100  520_10/50
1  T100  620  20/50    100  620_20/50
2  M100  720  30/50    100         NA
3  M100  820  50/50    100         NA
甚至使用简单循环:

>>> ndf = df.copy()
>>> for k,v in funcdict.iteritems():
...     ndf[k] = ndf.apply(v, axis=1)
... 
>>> ndf
      A    B      C      funcB pat_ID
0  T100  520  10/50  520_10/50    100
1  T100  620  20/50  620_20/50    100
2  M100  720  30/50         NA    100
3  M100  820  50/50         NA    100

很抱歉反应太晚!谢谢你的回答!
>>> ndf = df.copy()
>>> for k,v in funcdict.iteritems():
...     ndf[k] = ndf.apply(v, axis=1)
... 
>>> ndf
      A    B      C      funcB pat_ID
0  T100  520  10/50  520_10/50    100
1  T100  620  20/50  620_20/50    100
2  M100  720  30/50         NA    100
3  M100  820  50/50         NA    100