2017-11-02 14 views
0

私は、次のNP配列があります。「第二列」($量)Pythonでビンを動的に作成するにはどうしたらいいですか?

[['ID1', 922.63, 'Product 1'], 
['ID1', 1001, 'Product 2'], 
['ID1', 800, 'Product 1'], 
['ID1', 922.63, 'Product 1'], 
['ID1', 1001, 'Product 2'], 
['ID2', 800, 'Product 1'], 
['ID2', 922.63, 'Product 1'], 
['ID2', 1001, 'Product 2'], 
['ID3', 800, 'Product 1'], 
['ID3', 700.63, 'Product 1'], 
['ID3', 1200, 'Product 2'], 
['ID3', 850, 'Product 1']] 

は、私が気にするものです。私は製品1と製品2のヒストグラムを作成したいが、ビンのサイズを100にしたい。私が使用している実際のデータセットは75,000行と$ 200,000,000の範囲の値を持つ。私は自動的に値のこれらの 'バケツ'を作成し、ヒストグラムを作成します。

パンダやnumpyを使ってこの情報を見つけるのは簡単だと思っていましたが、私はnewbであり、他の '類似の'解決策を理解できない、または私が探しているものを見つけられません。それはまっすぐでなければならないようだ。

+1

各行は、区切り文字としてスペースを1つの文字列または3つの別々の列や数値のですか? –

+2

私は[この質問](https://stackoverflow.com/questions/47079717/pandas-group-by-equal-range)はあなたが探しているものに非常に似ていると思います... – MaxU

+0

@ScottBoston私は本当にわからない。それはデータフレームとして開始し、私はそれを 'dataset = dataset.values'のように変換します。 print(dataset) – user3486773

答えて

3

あなたはpandas.DataFrameにあなたのデータを回してヒストグラムを取得することができます:

a = [['ID1', 922.63, 'Product 1'], 
['ID1', 1001, 'Product 2'], 
['ID1', 800, 'Product 1'], 
['ID1', 922.63, 'Product 1'], 
['ID1', 1001, 'Product 2'], 
['ID2', 800, 'Product 1'], 
['ID2', 922.63, 'Product 1'], 
['ID2', 1001, 'Product 2'], 
['ID3', 800, 'Product 1'], 
['ID3', 700.63, 'Product 1'], 
['ID3', 1200, 'Product 2'], 
['ID3', 850, 'Product 1']] 
q=pd.DataFrame(a,columns=['id','price','product']) 
q.hist(column='price',bins=100) 

enter image description here

あなたはbinsパラメータにしたいビンの数を指定することができます。

q.hist(column='price', bins=100) 

enter image description here

あなたが製品によってグループにそれをしたい場合は、byパラメータを使用します。

q.hist(column='price', bins=100,by='product') 

enter image description here

+0

column = 1はどういう意味ですか?それは1のインデックスを参照していますか? – user3486773

+0

価格の列に本物の名前を付けるようにコードを修正しました –

+0

もう1つ、これを分けて各製品に基づいて2つのヒストグラムを作成する方法はありますか? – user3486773

関連する問題