【发布时间】:2021-05-18 03:54:22
【问题描述】:
我有一个使用 groupby 函数创建的表,我想将它从最高均值排序到最低均值。但是,我不断收到错误消息:“'DataFrameGroupBy' 对象没有属性 'sort_values'”或有时“布尔对象不可调用”。
import pandas as pd
import numpy as np
df = pd.read_csv("Listings.csv")
df2 = df[df['city'].str.contains("Cape Town")]
df2_by_neighbourhood = df2.groupby('neighbourhood')
df2_by_neighbourhood.describe()
df2_by_neighbourhood.sort_values(['mean'], ascending=False)
当我去掉最后一行时,表格很完美,但平均值不是从最高到最低。它给了我这个:
| neighbourhood | count | mean | std | min | 25% | 50% | 75% | price max |
|---|---|---|---|---|---|---|---|---|
| Ward 1 | 207 | 1181 | 1422 | 210.0 | 524.0 | 750.0 | 1145 | 10000 |
(等等,共93行)
使用 groupby 之前的数据如下所示:
| neighbourhood | city | price |
|---|---|---|
| Ward 115 | Cape Town | 700 |
[19086 行 x 3 列]
在使用 groupby 函数之前我无法对表格进行排序,因为 groupby 是我获取平均值的方式。
【问题讨论】:
-
你提到了
the table comes out perfectly, but **the mean** isn't from highest to lowest.那么,mean的列名是什么或者它在哪里?