将不同的函数应用于分组数据帧的不同列

时间:2014-07-11 16:22:27

标签: pandas dataframe

我是熊猫新手。我按日期对数据帧进行了分组,并将函数应用于数据帧的不同列,如下所示

def func(x):
        questionID = x['questionID'].size()
        is_true  = x['is_bounty'].sum()
        is_closed = x['is_closed'].sum()
        flag = True
        return pd.Series([questionID, is_true, is_closed, flag], index=['questionID', 'is_true', 'is_closed', 'flag'])

df_grouped = df1.groupby(['date'], as_index = False)
df_grouped = df_grouped.apply(func)

但是当我跑这个时,我得到一个错误说

questionID = x['questionID'].size()
TypeError: 'int' object is not callable.

当我以这种方式做同样的事情时,它不会给出任何错误。

df_grouped1 = df_grouped['questionID'].size()

我不明白我哪里出错了。

1 个答案:

答案 0 :(得分:0)

'int' object is not callable.表示您必须使用size而不使用()

x['questionID'].size

对于某些对象size只是值,对于其他对象,它可以是函数 其他值/功能也是如此。