Преобразование набора данных pandas в график matplotlib: есть ли способ добавить значение в список значений y?

#python #pandas #dataframe #csv #matplotlib

#python #pandas #dataframe #csv #matplotlib

Вопрос:

При преобразовании набора данных pandas во что-то полезное с помощью построения графика matplotlib значения y преобразуются в список. При желании добавить свое собственное значение в список я получаю ошибку, к которой я не уверен, как подойти.

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# pd.set_option('display.max_columns', None)

# Basic Data Set Cleanse
data_BM = pd.read_csv("C:\Users\user\Desktop\matplot and pand\bigmart_data.csv")
data_BM = data_BM.dropna(how='any')
data_BM = data_BM.reset_index(drop=True)

# Graphed Mean Sales for Each Sized Outlet -
sales_by_outlet_size = data_BM.groupby('Outlet_Size').Item_Outlet_Sales.mean()[:10]
sales_by_outlet_size.sort_values(inplace=True)
print(sales_by_outlet_size.head())

x = sales_by_outlet_size.index.tolist()
y = sales_by_outlet_size.values.tolist()
# # # # #
# This is where I am confused. If I wanted to do something like -
y.append(3000)
# or
y  = [3000]
# It doesn't go well
# # # # #
plt.xlabel('Outlet Size')
plt.ylabel('Mean Sales')
plt.title('Mean Sales by Store Size')
plt.xticks(labels=x, ticks=np.arange(len(x)))

plt.bar(x, y, color=['red', 'orange', 'magenta'])
plt.show()
  

Есть ли для этого правило, о котором я не знаю?
Ошибка для y.append(3000):
Ошибка значения: несоответствие формы: объекты не могут быть переданы в одну фигуру

Ответ №1:

Поскольку вы используете y.append(3000) или y = [3000] у вас больше значений Y, чем X. Добавьте еще одно значение X, и все будет в порядке.

Ответ №2:

У вас ошибка не для y.append(3000) или y = [3000] , а для генерации графика. После добавления одного значения Y у вас на одно значение X меньше. Добавьте также один X и проверьте свои значения.