给定一个来自 的矩阵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
andy
列的唯一值,我可以这样做:
>>> 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 列很大并且有很多重复,我会在获得唯一的之前将它附加到一个非常大的容器中。
是否有更有效的方法来获取从 SFrame 中的 2 个或更多列创建的组合列的唯一值?
从 2 列或更多列中获取唯一值的有效方法在 pandas 中的等效性是什么pandas
?