#python
Вопрос:
Ниже приведен мой код, написанный, но я получаю вышеупомянутую ошибку. Может ли кто-нибудь, пожалуйста, помочь мне в этом отношении? Заранее спасибо.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
csv = pd.read_excel("Slider.xlsx",sheet_name="K",skiprows=2,usecols = "E");
data = pd.read_excel("Slider.xlsx",sheet_name="K",skiprows=2,usecols = "F");
x = csv
y = data
plt.scatter(x, y)
z = np.polyfit(x, y, 1)
p = np.poly1d(z)
plt.plot(x,p(x),"r--")
plt.show()
Комментарии:
1. Похоже
csv
, что у вас есть фрейм данных, а не серия. Попробуйте сначала распечатать его, чтобы посмотреть, нет ли случайно другой колонки. Если нет, попробуйте использоватьpd.Series
вместо этого.2. Я инженер-механик, и я новичок в этом пакете, не могли бы вы, пожалуйста, подробнее рассказать о том, что мне нужно сделать.
3. Я почти уверен, что это должно быть просто
x.squeeze()
. Не могу сказать наверняка, не увидев, чтоx
есть. По сути, фрейм данных состоит из множества столбцов (каждый столбец называется серией). При создании точечной диаграммы вы можете иметь только 1-мерный массив для x и 1-мерный массив для y. Вот почему вам нужно преобразовать его.