我有一个包含多列房地产销售数据的数据框。我想按邮政编码找到所有1bed-1bath销售的平均每平方英尺价格'ppsf'
。这是我的尝试(字典中的每个键都是一个邮政编码):
bed1_bath1={}
for zip in zip_codes:
bed1_bath1[zip]= (df.loc[(df['bed']==1) & (df['bath']==1) & (df['zip']==zip)]).mean()
问题在于,这会将数据帧中所有列的平均值添加到字典中。我相信有更好的方法可以做到这一点;也许使用numpy.where?
答案 0 :(得分:1)
(df[(df['bed']==1) & (df['bath']==1) & (df['zip']==zip)])['ppsf'].mean()
可以做到。您只需在计算均值之前选择感兴趣的列即可(因此您甚至不会对其余列进行处理)。