这是数据框的示例:
例如
df =
Name Type Price
0 gg apartment 8
1 hh apartment 4
2 tty apartment 0
3 ttyt None 6
4 re house 6
5 ew house 2
6 rr house 0
7 tr None 5
8 mm None 0
我致力于将“类型”中的“未知”转换为“ NoInfo”:
将熊猫作为pd导入 将numpy导入为np 从scipy.stats导入zscore
df = pd.read_csv(“ C:/Users/User/Desktop/properties.csv”)
df.Type.fillna(value = pd.np.nan,inplace = True)
df ['Type']。fillna(value ='NoInfo',inplace = True)
数据框如下:
例如
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
之后,我将“ 0”值替换为每个组“公寓”,“房屋”和“ NoInfo”的价格平均值,并取每个组的z得分。
df ['price'] = df ['price']。replace(0,np.nan)
df ['price'] = pd.to_numeric(df.price,errors ='coerce')
df ['price'] = df.groupby('Type')['price']。transform(lambda x:x.mean())
df ['price_zscore'] = df [['price']]。apply(zscore)
运行此代码后,所有属性组的价格的所有值均已更改,并且独立变量“ price_zscore”中的所有z得分值均为“ NaN”。
我希望获取“类型”中每个属性组“公寓和房屋”的价格平均值,用独立属性“价格”中的“ 0”替换每个属性组(公寓,房屋)的平均值。
例如,必须用属性组“公寓”的平均价格(“ 0”)替换属性变量“类型”中属性组“公寓”中自变量“价格”中的“ 0”值物业组“ house”中“ price”中的值必须替换为物业组“ house”的平均价格,而属性组“ NoInfo”中“ price”中的“ 0”值必须替换为为属性组“ NoInfo”定价
df = 名称类型价格
0 gg apartment 8
1 hh apartment 4
2 tty apartment 6 # (8+4)/2 = 6
3 ttyt NoInfo 6
4 re house 6
5 ew house 2
6 rr house 4 # (6+2)/2 = 4
7 tr NoInfo 5
8 mm NoInfo 0
在那之后,我希望获得每个属性组的“ Z分数”。例如,我要获取属性组“公寓”的z分数,属性组“房屋”的zscore和“ NoInfo”组的zscore,并将所有组的所有z分数放入独立变量中“ price_zscore”。
我确实需要您的帮助来修复上面的代码。
答案 0 :(得分:1)
在pandas
中,您可以使用replace()
将缺失的值替换为NaN。然后,您可以使用组均值来估算它们。最终,您可以使用zscore
的{{1}}模块中的函数stats
计算价格的z分数。
代码如下:
scipy