Python:来自group_by的新数据帧,在一行中有新索引
我是Python新手,希望在编码方面更加高效 目前我有以下代码,计算每个城市的店铺数量(如果店铺仍然营业):Python:来自group_by的新数据帧,在一行中有新索引,python,pandas,dataframe,group-by,Python,Pandas,Dataframe,Group By,我是Python新手,希望在编码方面更加高效 目前我有以下代码,计算每个城市的店铺数量(如果店铺仍然营业): top_20_cities = pd.DataFrame(data = shops[shops.Open == 'Open'].groupby('city').size().sort_values(ascending=False).head(20)).reset_index() top_20_cities.columns = ['City', 'Count'] 有没有可能把两条线放在一
top_20_cities = pd.DataFrame(data = shops[shops.Open == 'Open'].groupby('city').size().sort_values(ascending=False).head(20)).reset_index()
top_20_cities.columns = ['City', 'Count']
有没有可能把两条线放在一条线上?我尝试了此操作,但出现错误:
top_20_cities = pd.DataFrame(data = shops[shops.Open == 'Open'].groupby('city').size().sort_values(ascending=False).head(20), columns = ['City', 'Count']).reset_index()
thx使用:
top_20_cities = (shops[shops.Open == 'Open']
.groupby('city')
.size()
.sort_values(ascending=False)
.head(20)
.rename_axis('City')
.reset_index(name='Count'))
另一种默认排序的解决方案:
top_20_cities = (shops.loc[shops.Open == 'Open', 'city']
.value_counts()
.head(20)
.rename_axis('City')
.reset_index(name='Count'))
如果你很高兴拥有
城市
而不使用大写字母C,你只需执行.reset\u index(name='Count')