为什么我可以使用返回Series的函数来创建DataFrame?

时间:2018-08-06 08:53:07

标签: python pandas data-science

我想用以下函数f聚合一个熊猫DataFrame。原始的DataFrame df有很多列,我只想将其中的几个列提取到新的DataFrame中

我不明白为什么我必须返回系列赛。我认为我需要返回一个DataFrame,因为输出是多维的。

def f(x):
    return Series(dict(Number_of_tweets = x['content'].count(),
                       Company=x['Company'].min(),
                       Description=x['from_user_description'].min(),
                      ))

account_count = df.groupby('from_user_screen_name').apply(f)
print(len(account_count))
account_count

1 个答案:

答案 0 :(得分:0)

您必须创建Series,因为对于列from_user_screen_name的每个值,每个列仅返回一个汇总值。最后groupby.apply将所有Series加入DataFrame

您的解决方案将针对agg函数进行重写:

d = {'content': 'count','Company': 'min','from_user_description': 'min'}
account_count = df.groupby('from_user_screen_name').agg(d)