我有一个城市的DataFrame,每个城市的总高速公路,每个司机的收费,和城市类型。我必须在一个单独的DataFrame中得到每个城市的总公路、每个城市的平均收费以及每个城市的城市类型,这样我最终可以用散点图来绘制图。大约有2500行数据。
我可以使用.mean()函数获得每个城市的总公路和每个城市的平均收费,但我可以知道如何为每个城市分配城市类型。
为每个城市分配城市类型的最佳方法是什么?
原始DataFrame的外观示例:
City Total Highways Tolls per Driver City Type
Miami 5 1.75 Suburban
Miami 5 2.25 Suburban
Weston 3 3.50 Rural
Weston 3 1.00 Rural
Weston 3 5.75 Rural
Weston 3 2.25 Rural
Ft Lauderdale 6 6.00 Urban
Ft Lauderdale 6 3.50 Urban
Ft Lauderdale 6 4.50 Urban
Ft Lauderdale 6 4.25 Urban
Ft Lauderdale 6 3.25 Urban
Ft Lauderdale 6 1.00 Urban新DataFrame应该是什么样子的示例:
City Total Highways Average Tolls City Type
Miami 5 2.00 Suburban
Weston 3 3.13 Rural
Ft Lauderdale 6 3.75 Urban发布于 2019-02-19 16:24:26
您可以对每一列使用不同的聚合函数,因此应该可以这样做:
df.groupby('City').agg({'Total Highways': lambda x:x.iloc[0], 'Tolls per Driver': np.mean, 'City Type': lambda x:x.iloc[0]})编辑:如果没有lambda,它看起来会更好:
df.groupby('City').agg({'Total Highways': 'first', 'Tolls per Driver': 'mean', 'City Type': 'first'})https://stackoverflow.com/questions/54770660
复制相似问题