【发布时间】:2017-08-06 15:19:36
【问题描述】:
我正在使用 BS4 抓取房屋广告,并使用 Pandas 分析数据。
以下命令,
madrid_rooms_district=df.groupby('district', as_index=False)['rent','size house, m2', 'price per m2','deposit'].agg(['mean', 'size'])
生成一个表,每行一个区域,每列区域的'rent','size house, m2', 'price per m2','deposit' 均值。这就是我需要的。
我还需要 一个 列显示每个地区的广告数量,因此 .agg() 中的 'size'。但是,该命令的当前设置为我提供了 四 列显示广告数量,['rent','size house, m2', 'price per m2','deposit'] 中的每个项目一列。
如何将“计数”列的数量从四减少到一?
例如我有,
district | rent; mean | rent; size | size house, m2; mean | size house, m2; mean | ...
-----------------------------------------------------------------------------------
A | 300 | 2 | 100 | 2 | ...
B | 400 | 6 | 200 | 6 | ...
C | 500 | 3 | 120 | 3 | ...
我需要,
district | rent; mean | size house, m2; mean | price per m2; mean | deposit; mean | count
---------------------------------------------------------------------------------------
A | 300 | 100 | 15 | 1 | 2
B | 400 | 200 | 14 | 2 | 6
C | 500 | 120 | 12 | 3 | 3
我一直试图通过创建两个 DataFrame 来以不同的方式解决这个问题;一个用于手段,一个用于计数,但无法将它们合并到一个 DataFrame 中。试过系列,试过加入,试过追加,试过......
【问题讨论】:
标签: python pandas count mean pandas-groupby