[英]pandas.core.frame.DataFrame rename index problems
In an existing table I got some summary by在现有表中,我得到了一些总结
df.groupby('bin_fare')['fare'].agg(['count', 'sum', 'mean'])
The result is table above.结果如上表。 bin_fare name of Indexes
bin_fare 索引名称
bin_fare count sum mean bin_fare count sum mean
1 491 3717.1413 7.570553 1 491 3717.1413 7.570553
2 474 9000.3078 18.987991 2 474 9000.3078 18.987991
3 259 14565.0003 14565.0003 3 259 14565.0003 14565.0003
4 84 16268.0375 16268.0375 4 84 16268.0375 16268.0375
I tried to rename indexes by adding this code我尝试通过添加此代码来重命名索引
fare_rate_names = ['cheapest','avarage','above average','expensive']
df.groupby('bin_fare')['fare'].agg(['count','sum','mean']).rename(index=pd.Series(data=fare_rate_names))
But it renames only first 3 row !但它只重命名前 3 行!
bin_fare count sum mean bin_fare count sum mean
avarage 491 3717.1413 7.570553平均491 3717.1413 7.570553
above average 474 9000.3078 18.987991高于平均水平474 9000.3078 18.987991
expensive 259 14565.0003 14565.0003昂贵的259 14565.0003 14565.0003
4 84 16268.0375 16268.0375 4 84 16268.0375 16268.0375
How to fix it?如何解决? Not adding element at the beginning of fare_rate_names
不在fare_rate_names开头添加元素
You can just set a new index:您可以设置一个新索引:
df.index = pd.Series(fare_rate_names)
Or, you could create a dummy name for the 0th index:或者,您可以为第 0 个索引创建一个虚拟名称:
fare_rate_names = ['foo', 'cheapest','avarage','above average','expensive']
df.groupby('bin_fare')['fare'].agg(['count','sum','mean']).rename(index=pd.Series(data=fare_rate_names))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.