我希望使用python根据每个属性组计算自变量“价格”的z得分。
换句话说,我需要计算“类型”中“公寓”组的z变换,“类型”中“房屋”组的z分数和“ NoInfo”组的z分数。 “使用所有组的z得分值在所有属性组的自变量“ price”中更改价格类型。请注意,我不希望将所有组的z得分值放在单独的列中。将所有组的所有z得分值都放在同一列“价格”中。
例如,如果我有一个如下所示的数据框,该如何为每个属性组(单元,NoInfo和NoInfo)计算z变换?
df =
Name Type price
0 gg apartment 8
1 hh apartment 4
2 tty apartment 0
3 ttyt NoInfo 6
4 re house 6
5 ew house 2
6 rr house 0
7 tr NoInfo 5
8 mm NoInfo 0
我在下面编写了代码,但是我收到了一个错误消息:“长度不匹配:预期轴有4906个元素,新值有4910个元素“您知道如何解决此错误:
name = ['price']
price_zscore = lambda x: (x - x.mean()) / x.std()
df[name] = df.groupby([df.Type])[name].transform(price_zscore)
非常感谢