2016-05-13 14 views
2

は、私がdplyr :: summarizeに相当するパンダがありますか? R/dplyrで

summarise(iris, max_width=max(Sepal.Width), min_width=min(Sepal.Width)) 

を行うことができますし、取得:

max_width min_width 
1  4.4   2 

はパンダでsummariseのようなものはありますか?私はdescribe()を知っていますが、結果には、すべての列のすべてのサマリー統計ではなく、特定の列の所与のサマリー統計のみを含めることを望みます。パンダでは、iris.describe()は与える:

 sepal_length sepal_width petal_length petal_width 
count 150.000000 150.000000 150.000000 150.000000 
mean  5.843333  3.057333  3.758000  1.199333 
std  0.828066  0.435866  1.765298  0.762238 
min  4.300000  2.000000  1.000000  0.100000 
25%  5.100000  2.800000  1.600000  0.300000 
50%  5.800000  3.000000  4.350000  1.300000 
75%  6.400000  3.300000  5.100000  1.800000 
max  7.900000  4.400000  6.900000  2.500000 
+0

Dupe:http://stackoverflow.com/questions/22235245/calculate-summary-statistics-of-columns-in-dataframe/22235393#22235393、基本的に['describe'](http://pandas.pydata。あなたのケースでは、 'iris [list_of_cols] .describe()の要約情報を表示するcolのリストを渡すことでサブセレクションすることができます。org/pandas-docs/stable/generated/pandas.DataFrame.describe.html) ) ''または '' iris ['sepal_length']。describe() 'はその列の統計だけを返します。 – EdChum

+0

特定の統計の後であれば、' 'iris ['sepal_width']。 ['min'、 'max']] ' – EdChum

+0

これらの計算だけをしたいのであれば、' pd.Series(dict(max_width = iris.sepal_width.max()、min_width = iris.sepal_width.min ())) 'dplyrとほぼ同じ出力を得ることができます。 – joris

答えて

1

バージョン0.20の時点では、aggは、データフレームあまりにも(source)で呼び出すことができます。

iris.agg({'sepal_width': 'min', 'petal_width': 'max'}) 

petal_width 2.5 
sepal_width 2.0 
dtype: float64 

iris.agg({'sepal_width': ['min', 'median'], 'sepal_length': ['min', 'mean']}) 

     sepal_length sepal_width 
mean  5.843333   NaN 
median   NaN   3.0 
min   4.300000   2.0 

またdplyr summarize equivalent in pandasを参照してください。

だからあなたのようなことを行うことができます。それはgroupby操作にも焦点を当てています。

関連する問題