0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

casTableを条件を指定して取得する

Last updated at Posted at 2018-11-28

SAS ViyaはAIプラットフォームになります。Webブラウザ上で機械学習の設計、実行ができるStudioという環境も用意されていますが、開発者はプログラミングコードで開発することも可能です。プログラミング言語はJava/Python/R/SASが選べます。

機械学習を用いる際に専用のテーブル(casTable)を用いますが、今回はそのテーブルオブジェクト(Python版)で情報を絞って取得する方法を紹介します。

テーブルの作り方

テーブルはCSV、HTML、他のデータベースなどから作れます。

out = sess.upload('Jupyter_Saved_Work/Data/iris.csv')

ファイルをアップロードした後、casTableとして取得します。

tbl = out.casTable

絞り込み条件をPythonで書く

casTableではSQLではなく、Pythonのコードを使ってデータの絞り込みを行えます。

tbl2 = tbl[tbl.SepalLength > 6.0]

複数条件の場合は & で繋ぎます。

tbl2 = tbl[(tbl.SepalLength > 6.0) & (tbl.PetalLength < 5.0)]

casTableの基底プロパティとぶつかった場合

例えばNameというプロパティはcasTableオブジェクトの基底プロパティです。この場合は ['Name'] といった形で指定します。

tbl2 = tbl[tbl['Name'] != 'Iris-setosa']

もし tbl.Name として指定すると以下のようなエラーが出ます。

tbl2 = tbl[tbl.Name != 'Iris-setosa']

エラーメッセージです。

KeyError                                  Traceback (most recent call last)

<ipython-input-31-035de5eb5d01> in <module>()
----> 1 tbl2 = tbl[tbl.Name != 'Iris-setosa']


/opt/sasinside/anaconda3/lib/python3.6/site-packages/swat/cas/table.py in __getitem__(self, key)
   7578 
   7579         # Everything else
-> 7580         raise KeyError(key)
   7581 
   7582     def groupby(self, by, axis=0, level=None, as_index=True, sort=True,


KeyError: True

WHERE句を書かず、SQLを意識せずにデータの絞り込みや閲覧ができるのは便利ではないでしょうか。Pythonコードとの親和性も高いので、プログラマブルにデータ探索が実現できます。

SAS for Developers | SAS

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?