我有一个包含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 ...”命名。
答案 0 :(得分:1)
如果要在多列上使用groupby
,则必须将其名称作为列表传递:
columns = ['Column1', 'Column2', 'Column3', ..., 'Column30']
但是我认为这在您的情况下会更好:
columns = data.columns.tolist()
data.groupby(columns)['Column3'].count()