からの行列が与えられる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 列が巨大で重複が多い場合は、一意のものを取得する前に非常に巨大なコンテナーに追加します。
SFrame の 2 つ以上の列から作成された結合された列の一意の値を取得するより効率的な方法はありますか?
の2つ以上の列から一意の値を取得する効率的な方法のパンダの同等性は何pandas
ですか?