从聚合函数制作数据框时难以指定列名

时间:2019-01-30 21:55:36

标签: pandas dataframe pandas-groupby kaggle

当我用以下方法制作数据框时:

freq = pd.DataFrame(combined.groupby(['Latitude', 'Longitude','from_station_name']).agg('count')['trip_id'])

它工作正常,但是当我尝试时:

freq = pd.DataFrame(combined.groupby(['Latitude', 'Longitude','from_station_name']).agg('count')['trip_id'], columns = ['lat','long','station','trips'])

当我查看数据框时,我只看到标题。我可以制作数据框,然后使用:

freq.columns = ['lat','long','station','trips']

但我想知道如何一步一步做到这一点。我尝试为聚合函数指定“ data =”。尝试将列名的括号括起来,然后删除列名的括号。任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

您不需要将groupby对象传递到新的数据框构造函数中(如已经提到的@Vaishali)

如果要在groupby之后重命名列,只需执行以下操作:

combined.groupby(['Latitude', 'Longitude','from_station_name']).trip_id.agg('count').rename(columns={'Latitude': 'lat', 'Longitude': 'long', 'from_station_name':'station', 'count': 'trips})