Провести линию тренда в графике
Есть файл с двумя колонками (date and position). Делаю из него график через plt все ок. Но не получается провести линию тренда
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
data = pd.read_csv('Downloads/quantity.csv')
x = data['date']
y = data['position']
z = np.polyfit(x, y, 1)
p = np.poly1d(z)
plt.plot(x,p(x),"r--")
data.plot()
print(plt.show())
выдает ошибку TypeError: can only concatenate str (not "float") to str. Файл в гугл таблицах.
Ответы (2 шт):
Автор решения: passant
→ Ссылка
Тренд во временном ряду строиться не от даты, а от тика. У вас-же x-дата - Series, причем элементы в ней - типа str. Это две, наложившиеся друг на друга ошибки. Исправьте их обе. Думаю, будут и еще.
Автор решения: Aribama
→ Ссылка
plt.figure(figsize=(12, 6))
plt.plot(df["DATETIME"], df["CLOSE"], label="Цена закрытия", color="blue")
plt.xlabel("Дата")
plt.ylabel("Цена закрытия")
plt.title("Тренд цены закрытия акций")
plt.legend()
plt.show()