MATLAB > unique(vs, 'rows')を使ってみた > [res, ~, idx] = unique(vs, 'rows')


動作環境
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04 LTS desktop amd64
TensorFlow v1.2.1
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
scipy v0.19.1
geopandas v0.3.0
MATLAB R2017b (Home Edition)

関連

MATLAB > [v,~,idx] = unique(v,'rows'); > tilde(~):プレースホルダ > Pythonでの下線(_)に相当するのだろう

使ってみた。

MATLAB Onlineで確認。

>> vs = [ 3 1 4; 1 5 9; 1 5 9; 2 6 5; ];
>> [res, ~, idx] = unique(vs, 'rows')

res =

     1     5     9
     2     6     5
     3     1     4


idx =

     3
     1
     1
     2

idxの「3, 1, 1, 2」の意味は以下のようなものだろう。

  • 3: vsの1行目はresの3行目 (3 1 4)に対応する
  • 1: vsの2行目はresの1行目
  • 1: vsの3行目はresの1行目
  • 2: vsの4行目はresの2行目