如何创建按功能分组的包含列名称的变量?

时间:2019-01-30 12:45:44

标签: python

我有一个包含30列的表,我想在python中应用此功能

data = data.groupby(['Column1','Column2','Column4' .....,'Column30' ])['column3'].apply(', '.join).reset_index()

我需要使用

这样的变量传递列名
a = 'Column1','Column2','Column4' .....,'Column30' 
data = data.groupby([a])['column3'].apply(', '.join).reset_index()

但是系统将a定义为字符串,并查找列如何由“ column1,column2 ...”命名。

1 个答案:

答案 0 :(得分:1)

如果要在多列上使用groupby,则必须将其名称作为列表传递:

columns = ['Column1', 'Column2', 'Column3', ..., 'Column30']

但是我认为这在您的情况下会更好:

columns = data.columns.tolist()
data.groupby(columns)['Column3'].count()