Scikit-learn
Bibliothek haben ein brillantes Beispiel für Datencluster - stock market structure. Es funktioniert gut in US-Aktien. Aber wenn man Ticker aus anderen Märkten hinzufügt, erscheint der Fehler numpy
, dass Arrays die gleiche Größe haben sollten - das ist beispielsweise der Fall, wenn deutsche Aktien einen anderen Handelskalender haben.Filter numpy Array von Tupeln
Ok, nach quotes herunterladen I Vorbereitung gemeinsamer Daten hinzufügen:
quotes = [quotes_historical_yahoo_ochl(symbol, d1, d2, asobject=True)
for symbol in symbols]
def intersect(list_1, list_2):
return list(set(list_1) & set(list_2))
dates_all = quotes[0].date
for q in quotes:
dates_symbol = q.date
dates_all = intersect(dates_all, dates_symbol)
Dann stecken Ich bin mit numpy Array von Tupeln Filterung. Hier einige Versuche:
# for index, q in enumerate(quotes):
# filtered = [i for i in q if i.date in dates_all]
# quotes[index] = np.rec.array(filtered, dtype=q.dtype)
# quotes[index] = np.asanyarray(filtered, dtype=q.dtype)
#
# quotes[index] = np.where(a.date in dates_all for a in q)
#
# quotes[index] = np.where(q[0].date in dates_all)
Wie Filter numpy Array anzuwenden oder, wie man wirklich konvertieren Liste von Datensätzen (nach Filter) zurück zu numpy
‚s recarray
?
Zitate [0] .dtype:
'(numpy.record, [('date', 'O'), ('year', '<i2'), ('month', 'i1'), ('day', 'i1'), ('d', '<f8'), ('open', '<f8'), ('close', '<f8'), ('high', '<f8'), ('low', '<f8'), ('volume', '<f8'), ('aclose', '<f8')])'
Zitate [0] .shape:
<class 'tuple'>: (261,)
Von arra y von Tupeln Ich vermute, du meinst ein 'strukturiertes Array' (oder' recarray'). Wenn ja, würden wir gerne die 'Form' und' Dtype' des Arrays kennen. – hpaulj
Danke für den Hinweis. Hinzugefügt! –