我从我的 df 组获得了这个结果,我如何从这个结果 df 中获取 City 的列表名称?我发现了这个解决问题,但我不知道这个 for 循环是如何工作的:
我认为结果是 2 部分,索引列表和一个新的数据框,所以当在 groupby df 中输入 city,df 时。它将返回第一个列表是城市,另一个列表是 df。这是真的吗?但是当我打印(type(df))时df的类型是列表,我认为它包含除索引列表之外的所有列表我推入城市。但是当我尝试使用 city,df,df1,df2,.. 进行循环时出现错误:(
我从我的 df 组获得了这个结果,我如何从这个结果 df 中获取 City 的列表名称?
result = all_data.groupby('City').sum()
result
is Series
, whereCity
转换为index
, 所以最简单的是:
cities = result.index
对于绘图,如果使用则更容易DataFrame.plot.bar
,默认情况下索引在绘图中axis=x
:
result.plot.bar()
您可以通过 groupby object重写循环的列表理解,因此这里city
是分组列唯一值并且df
是组:
for city, df in all_data.groupby('City'):
print (city)
print (df)
因此,如果提取city
按City
列获取唯一值,则将其转换为index
聚合后sum
。
cities = [city for city, df in all_data.groupby('City')]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句