Bei einer Matrix aus einem SFrame
erhalten:Effiziente Weise die einzigartigen Werte von 2 oder mehr Spalten in einem Dataframe
>>> from sframe import SFrame
>>> sf =SFrame({'x':[1,1,2,5,7], 'y':[2,4,6,8,2], 'z':[2,5,8,6,2]})
>>> sf
Columns:
x int
y int
z int
Rows: 5
Data:
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 2 | 2 |
| 1 | 4 | 5 |
| 2 | 6 | 8 |
| 5 | 8 | 6 |
| 7 | 2 | 2 |
+---+---+---+
[5 rows x 3 columns]
Ich mag die eindeutigen Werte für die x
und y
Spalten bekommen, und ich kann es tun als solche:
>>> sf['x'].unique().append(sf['y'].unique()).unique()
dtype: int
Rows: 7
[2, 8, 5, 4, 1, 7, 6]
so kann ich die einzigartigen Werte von x und eindeutige Werte von y erhalten sie dann anhängen und die einzigartigen Werte der beigefügten Liste erhalten.
konnte ich es auch tun, als solche:
>>> sf['x'].append(sf['y']).unique()
dtype: int
Rows: 7
[2, 8, 5, 4, 1, 7, 6]
Aber auf diese Weise, wenn meine x und y Spalten mit vielen Duplikaten sind riesig, wäre ich es in einen sehr großen Container anhängen, bevor die einzigartigen bekommen .
Gibt es einen effizienteren Weg, um die eindeutigen Werte einer kombinierten Spalten aus 2 oder mehr Spalten in einem SFrame zu erhalten?
Was ist die Äquivalenz in Pandas der effizienten Möglichkeit, eindeutige Werte aus 2 oder mehr Spalten in pandas
zu erhalten?
Ist die Reihenfolge der Elemente in der Ausgabe von Bedeutung? Wäre es in Ordnung, die Ausgabe als Liste oder Array zu haben? – Divakar
[SFrame's API] (https://turi.com/products/create/docs/generated/graphlab.SFrame.html) ist ziemlich schlecht im Vergleich zu Pandas API, also glaube ich nicht, dass Sie es in viel mehr tun können effizienter im Vergleich zu Ihren Lösungen. Vielleicht ist es an der Zeit, [Apache Spark] (http://spark.apache.org/) zu verwenden? – MaxU