我是Stack Overflow的新手,因此也欢迎任何社区最佳实践。
#aggregate rides and average of fares
combo_grouped_df =combo_df.groupby(['city','type'])
#combo_grouped_df.set_index('city') does not work!
combo_grouped_df.head()
avg_fare =combo_grouped_df['fare'].mean()
total_rides =combo_grouped_df['ride_id'].count()
city_type = combo_grouped_df['type']
summary_df = pd.DataFrame({"Average Fare": avg_fare,
"Number of Rides": total_rides,
"Type": combo_grouped_df['type']}) # how to get type in this dict?????
summary_df.head()}
结果:
Average Fare Number of Rides
city type
Amandaburgh Urban 24.641667 18
Barajasview Urban 25.332273 22
Barronchester Suburban 36.422500 16
Bethanyland Suburban 32.956111 18
Bradshawfurt Rural 40.064000 10
Type
city type
Amandaburgh Urban ((Amandaburgh, Urban), [Urban, Urban, Urban, U...
Barajasview Urban ((Barajasview, Urban), [Urban, Urban, Urban, U...
Barronchester Suburban ((Barronchester, Suburban), [Suburban, Suburba...
Bethanyland Suburban ((Bethanyland, Suburban), [Suburban, Suburban,...
Bradshawfurt Rural ((Bradshawfurt, Rural), [Rural, Rural, Rural, ...
我想将goupby"type"索引移动到"type"所在的列。或者让"type"显示为不带括号的单个字符串(例如"Urban"(。
df.set_index = False
不起作用,因为我想保留"城市"索引。群策群力似乎也不起作用。如有任何帮助,我们将不胜感激。
为了清晰起见,请编辑:我希望按"城市"分组并将其用作索引。我希望在数据帧中有"type",而不是在索引中。当前"Type"返回的值列表本质上是重复的相同值。
您只需要:
import pandas as pd
# Group it
group_df = combo_df.groupby(['city','type'])
# Aggregate it
aggregated_df = group_df.agg({'fare': 'mean', 'ride_id': 'count'})
# Reset index (only type)
summary_df = aggregated_df.reset_index(level=1)