【发布时间】:2021-02-01 17:44:26
【问题描述】:
我们将不胜感激每一个想法或建议!我有几个“相同风格”的 numpy 对象(u1,u2,u3...),每个对象都是:
对象 1:
[[Timestamp('2004-02-28 00:59:16'), 19.9884],
[Timestamp('2004-02-28 01:03:16'), 19.3024],
...
[Timestamp('2004-02-28 01:06:16'), 19.1652]]
对象 2:
[[Timestamp('2004-02-28 01:08:17'), 19.567],
[Timestamp('2004-02-28 01:10:16'), 19.5376],
...
[Timestamp('2004-02-28 01:26:47'), 19.4788]]
我想通过聚类来找出这些对象中的哪些在时间序列中具有相同的“趋势”。我尝试了几种方法,包括:
from sklearn.neighbors import NearestNeighbors
X = np.array([u1, u2, u3])
nbrs = NearestNeighbors(n_neighbors=2, algorithm='ball_tree').fit(X)
distances, indices = nbrs.kneighbors(X)
print(distances)
我的一些错误:
TypeError: float() 参数必须是字符串或数字,而不是 'Timestamp'
ValueError: 使用序列设置数组元素。
TypeError:只有 size-1 的数组可以转换为 Python 标量
结论
至少有人可以给我一个建议我该怎么做。谢谢!
【问题讨论】:
标签: python pandas numpy scikit-learn cluster-analysis