Учитывая матрицу от SFrame
:
>>> 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]
Я хочу получить уникальные значения для столбцов x
и y
, и я могу сделать это как таковое:
>>> sf['x'].unique().append(sf['y'].unique()).unique()
dtype: int
Rows: 7
[2, 8, 5, 4, 1, 7, 6]
Таким образом, я получаю уникальные значения x и уникальные значения y, затем добавляю их и получаю уникальные значения добавленного списка.
Я мог бы также сделать это как таковой:
>>> sf['x'].append(sf['y']).unique()
dtype: int
Rows: 7
[2, 8, 5, 4, 1, 7, 6]
Но так, если мои столбцы x и y огромны с большим количеством дубликатов, я бы добавил его в очень огромный контейнер, прежде чем получить уникальный.
Есть ли более эффективный способ получить уникальные значения комбинированных столбцов, созданных из 2 или более столбцов в SFrame?
Какова эквивалентность в pandas эффективного способа получения уникальных значений из 2 или более столбцов в pandas
?