簡體   English   中英

錯誤繪圖:數據必須是一維的

[英]Error Plotting: Data Must Be 1-Dimensional

我不斷收到此錯誤:

Exception: Data must be 1-dimensional

我正在測試這段代碼。

prod_count = pd.DataFrame(df.groupby(['product_name'])['order_id'].count().sort_values(ascending=False).head(20))
plt.figure()
sns.barplot(prod_count.index, prod_count.values, alpha=0.8)
plt.title('Counts of Top Products Sold')
plt.ylabel('Number of Products', fontsize=12)
plt.xlabel('Products', fontsize=12)
plt.show()

我的product_count.index看起來像這樣:

Index(['Banana', 'Bag of Organic Bananas', 'Organic Strawberries',
       'Organic Hass Avocado', 'Limes', 'Strawberries', 'Organic Baby Spinach',
       'Large Lemon', 'Organic Raspberries', 'Organic Garlic',
       'Organic Avocado', 'Organic Yellow Onion', 'Organic Zucchini',
       'Organic Gala Apples', 'Cucumber Kirby', 'Organic Red Onion',
       'Organic Whole Milk', '100% Whole Wheat Bread', 'Organic Cilantro',
       'Apple Honeycrisp Organic'],
      dtype='object', name='product_name')

我的prod_count.values看起來像這樣:

array([[48],
       [34],
       [25],
       [23],
       [18],
       [17],
       [17],
       [17],
       [13],
       [12],
       [11],
       [11],
       [11],
       [10],
       [ 9],
       [ 9],
       [ 9],
       [ 9],
       [ 8],
       [ 8]], dtype=int64)

我不確定為什么在我進行訂單計數時字段名稱會顯示“order_id”,但數據框應該是這樣的。

product_name                        order_id
Banana  48
Bag of Organic Bananas  34
Organic Strawberries    25
Organic Hass Avocado    23
Limes   18
Strawberries    17
Organic Baby Spinach    17
Large Lemon 17
Organic Raspberries 13
Organic Garlic  12
Organic Avocado 11
Organic Yellow Onion    11
Organic Zucchini    11
Organic Gala Apples 10
Cucumber Kirby  9
Organic Red Onion   9
Organic Whole Milk  9
100% Whole Wheat Bread  9
Organic Cilantro    8
Apple Honeycrisp Organic    8

而且,圖表應該是這樣的。

在此處輸入圖片說明

僅供參考,我在此站點上找到了繪圖代碼。

https://www.kaggle.com/tejainece/seaborn-barplot-and-pandas-value-counts

問題是您試圖繪制一個不是一維的 pd.DataFrame (prod_count 是一個數據框)。 因此,您想訪問該數據幀中“order_id”列中的值。 所以試試這個: sns.barplot(prod_count.index, prod_count['order_id'].values, alpha=0.8)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM