我可以通过提及列名作为groupby的输入来对数据框执行groupby
:
示例:
Incoming_Tags.groupby([ 'Domain','Tag_Name', 'Tag_hierarchy', 'html_attributes'])
我想动态选择列来执行groupby
。
动态地表示名称。而不是每次在groupby
中提及列名称。我定义了一个函数group_by
,它执行以下操作:
def group_by(df,myList= [],*args):
Incoming_tag_groupby = df.groupby(myList).agg({'char_cnt': np.mean,'line_cnt':np.mean,'digit_cnt':np.mean,'sp_chr_cnt':np.mean,'word_cnt':np.mean})
return Incoming_tag_groupby
答案 0 :(得分:0)
如果要汇总所有数字列,则default排除非数字:
def group_by(df,myList= [],*args):
return df.groupby(myList).mean()
或者使用c
列列表来指定聚合列:
def group_by(df,myList= [],*args):
c = ['char_cnt','line_cnt','digit_cnt','sp_chr_cnt', 'word_cnt']
return df.groupby(myList)[c].mean()