Pandas DataFrame的条件平均值



我有一个包含多列房地产销售数据的数据框架。我想按邮政编码找到所有1条1路销售的每平方英尺'ppsf'的平均价格。以下是我的尝试(dict中的每个键都是一个邮政编码(:

bed1_bath1={}
for zip in zip_codes:
bed1_bath1[zip]= (df.loc[(df['bed']==1) & (df['bath']==1) & (df['zip']==zip)]).mean()

问题是,这会将数据帧中所有列的平均值添加到字典中。我相信有更好的方法可以做到这一点;也许使用numpy.where?

(df[(df['bed']==1) & (df['bath']==1) & (df['zip']==zip)])['ppsf'].mean()就可以了。在计算平均值之前,只需选择您感兴趣的列(因此您甚至不会对其余列进行处理(。

最新更新