我有一个名为FP13 列的数据框,派生了一个名为 的新字段price/sqm,并删除了 10 列。
FP['price/sqm'] = FP['price'] / FP['floor_area_sqm']
FP = FP.loc[:,['year', 'town', 'type', 'price/sqm']]
数据框有 700,000 行,看起来像这样:
year town type price/sqm
0 1990 AMK 1 ROOM 290.322581
1 1990 AMK 1 ROOM 193.548387
2 1990 AMK 1 ROOM 258.064516
3 1990 AMK 1 ROOM 193.548387
4 1990 AMK 3 ROOM 646.575342
5 1990 AMK 3 ROOM 686.567164
我正在尝试price/sqm根据['year','town','type']使用下面的代码进行平均,但我得到了TypeError: incompatible index of inserted column with frame index
FP['avg_price/sqm'] = FP.groupby(['year', 'town', 'type'])['price/sqm'].aggregate(mean)
我有一个用于不同数据框的类似代码,它可以工作,所以我不确定为什么它不适用于此代码。另一个代码是gdp['yearly_gdp'] = gdp.groupby(['year'])['value'].transform(sum)
我假设它的原因price/sqm是一个 str 并尝试了以下代码将它转换为一个浮点数,但我要么得到一个错误,要么它仍然作为 str 返回。
FP['price/sqm'] = float(FP['price/sqm'])
FP['price/sqm'] = FP['price/sqm'].astype(float)
FP['price/sqm'] = pd.to_numeric(FP['price/sqm'], errors = 'coerce')
FP[['price/sqm']] = FP[['price/sqm']].apply(pd.to_numeric)
有人可以建议我如何解决这个问题吗?
FP.dtypes:
year town type price/sqm
0 1990 AMK 1 ROOM 290.322581
1 1990 AMK 1 ROOM 193.548387
2 1990 AMK 1 ROOM 258.064516
3 1990 AMK 1 ROOM 193.548387
4 1990 AMK 3 ROOM 646.575342
5 1990 AMK 3 ROOM 686.567164
year object
town object
type object
price/sqm float64
dtype: object
df1.dtypes:
month object
town object
type object
block object
street_name object
storey_range object
floor_area_sqm float64
flat_model object
lease_commence_date int64
resale_price int64
dtype: object
智慧大石
DIEA
相关分类