[英]How can I dynamically create bins in Python?
我有以下np數組:
[['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。我正在使用的實際數據集有75K行,其值的范圍從$ 1到$ 200000。 我想自動為這些值創建這些“存儲桶”,然后構建一個直方圖。
我認為使用pandas或numpy可以很容易地找到有關此信息,但是我要么是新手,要么無法理解其他“相似”解決方案,或者只是找不到我想要的東西。 似乎應該是直截了當的。
您可以通過將數據轉換為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)
您可以使用bins
參數指定所需的bins
數:
q.hist(column='price', bins=100)
如果要按產品分組,請使用by
參數:
q.hist(column='price', bins=100,by='product')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.