2017-07-22 9 views
0

Als ich versuchte die Reihen meiner Datensatz Spalte von Benutzer-ID = 1 bis graphlab der sframe Datenstruktur, die zu bekommen, sf[sf['userid'] == 1],Was ist die Verwendung von SFrame.materialize() in Graphlab?

habe ich die Zeilen, aber auch diese Botschaft, die ich bekam, [? rows x 6 columns] Note: Only the head of the SFrame is printed. This SFrame is lazily evaluated. You can use sf.materialize() to force materialization.

Ich habe Ich bin durch die Dokumentation gegangen, aber ich kann nicht verstehen, was sf.materialize() tut! könnte mir hier jemand helfen.

Antwort

0

Die Notiz sagt Ihnen, dass die Operation (Filterung in Ihrem Fall) nicht auf das ganze Datum angewendet wird, das sofort eingestellt wird, sondern nur für einen Teil davon. Dies dient dazu, Ressourcen zu sparen - falls die Operation nicht das tut, was Sie beabsichtigt haben, können Ressourcen verschwendet werden, indem die Operation auf ganze möglicherweise große Datenmengen angewendet wird, aber nur auf den benötigten Teil (Kopf in Ihrem Fall, der standardmäßig ausgegeben wird)). Die Materialisierung erzwingt die Ausbreitung der Operation auf den gesamten Datensatz.

+0

Danke das hilft! Wie benutzt man dann diese Funktion? – harishaaram

+0

@harishaaram Es ist eine Methode von SFrame, also verwenden Sie als "sf.materialize" (d. H. Wie es in der Notiz steht). Sie finden etwas mehr Informationen [hier] (https://turi.com/learn/userguide/sframe/data-manipulation.html). –