我正试图用kmeans绘图,但我被卡住了,因为一列是日期,它产生了很多问题。(你可以在截图中看到这里的数据输入图像描述)
我已经使用了to_datetime,那么现在我应该做什么呢?
如何通过这个问题并绘制它?
提前感谢!
from sklearn.cluster import KMeans
AAPL= pd.read_csv('AAPL.csv', header=0, squeeze=True)
#sd=store_data.head(100)
x = pd.to_datetime(AAPL.iloc[:, [0,1]],dayfirst=True)
print(x)
kmeans4 = KMeans(n_clusters=4)
y_kmeans4 = kmeans4.fit_predict(x)
print(y_kmeans4)
print(kmeans4.cluster_centers_)
plt.scatter(x[:,0],x[:,1],c=y_kmeans4,cmap='rainbow')
plt.scatter(kmeans4.cluster_centers_[:,0] ,kmeans4.cluster_centers_[:,1],color='black')
您只需要选择第一列:
x = pd.to_datetime(AAPL.iloc[:, 0],dayfirst=True)
如果使用:
x = pd.to_datetime(AAPL.iloc[:, [0,1]],dayfirst=True)
它选择第一列和第二列并引发错误,因为pd.to_datetime
只在传递year, month, days
列时才工作。