2017-02-27 3 views
0

私はgroupby()機能を使用して分析しているDataFrameを持っています。私は結果をプロットしたいと思います。groupby()からプロットするには?

これは、コードの一部です:

df = df[(df['Type'] == 'u')] 
df['Date'] = pd.to_datetime(df['Date'], format='%d-%m-%Y') 
df['Month'] = df['Date'].dt.month 
mean_prices = df.groupby((['Suburb','Rooms', 'Month']))['Price'].agg(np.mean).round() 
mean_prices 

結果は以下のように見ている:私はagg()np.maxnp.minに広告したい

Suburb    Rooms Month 
    Abbotsford   1  5   432250.0 
           7   470000.0 
           8   441500.0 
           10  300000.0 
           11  490000.0 
           12  481000.0 
         2  5   970000.0 
           6   500000.0 
           10  542000.0 
           11  725000.0 
           12  760000.0 
    Aberfeldie   1  12  380000.0 
         2  5   456000.0 
           11  373000.0 
         3  9   726000.0 
           12  845000.0 
    Airport West  2  7   468250.0 

と各「郊外」値のための箱ひげ図を作成します各郊外の最大値と平均値が表示されます。これを行う方法?

+2

あなたは「GROUPBY」は実際に何を勘違いしているように見えます。私は、4行目がエラーを発生させないことに軽く感銘を受けた。 – Elliot

+0

@セバスチャン・ウォズニーそれはKaggleのデータセットです – Sinchetru

+0

https://www.kaggle.com/anthonypino/melbourne-housing-market – Sinchetru

答えて

0

あなたはこのような複数の機能を適用するために集計を使用することができます。

mean_prices = df.groupby((['Suburb','Rooms', 'Month']))['Price'].aggregate({'Mean': np.mean, 'Min': np.min, 'Max': np.max}).round().reset_index() 
mean_prices.head() 

あなたが得る:

Suburb Rooms Month Mean Min   Max 
0 Abbotsford 1 5 432250.0 423500.0 441000.0 
1 Abbotsford 1 7 470000.0 470000.0 470000.0 
2 Abbotsford 1 8 441500.0 426000.0 457000.0 
3 Abbotsford 1 10 300000.0 300000.0 300000.0 
4 Abbotsford 1 11 490000.0 480000.0 500000.0 
関連する問題