LoginSignup
0
1

More than 3 years have passed since last update.

CASTableにおける算出カラムの使い方

Posted at

SAS ViyaはAIプラットフォームです。PythonやJava、Rなどの言語を通して利用できます。そのSAS Viyaの中で使われているのがCASTableというテーブルオブジェクトです(CASはCloud Analytic Servicesの略です)。今回はCASTableで動的にカラムを追加する、算出カラムの使い方を解説します。

データベースからテーブルを取得する

まずはSAS Viyaに接続します。

import swat
conn = swat.CAS('server-name.mycompany.com', 5570, 'username', 'password')

次にCASTableを取得します。今回はIRISデータのCSVを利用します。

tbl = conn.loadtable('data/iris.csv', caslib='casuser').casTable

カラムを追加する

例えば sepal_length と sepal_width を足して2倍する、sepal_factorというカラムを追加します。

tbl['sepal_factor'] = ((tbl.sepal_length + tbl.sepal_width) * 2)
tbl.head()

この内容は次のようになります。確かに計算され、新しいカラムが追加されています。

sepal_length sepal_width petal_length petal_width species sepal_factor
0 7.9 3.8 6.4 2.0 virginica 23.4
1 7.7 2.6 6.9 2.3 virginica 20.6
2 7.7 2.8 6.7 2.0 virginica 21.0
3 7.7 3.0 6.1 2.3 virginica 21.4
4 7.7 3.8 6.7 2.2 virginica 23.0

さらにカラムを追加します。

tbl['total_factor'] = tbl.sepal_factor + tbl.petal_width + tbl.petal_length
tbl.head()
sepal_length sepal_width petal_length petal_width species sepal_factor total_factor
0 7.9 3.8 6.4 2.0 virginica 23.4 31.8
1 7.7 2.6 6.9 2.3 virginica 20.6 29.8
2 7.7 2.8 6.7 2.0 virginica 21.0 29.7
3 7.7 3.0 6.1 2.3 virginica 21.4 29.8
4 7.7 3.8 6.7 2.2 virginica 23.0 31.9

単なる文字列のカラムも追加できます。

tbl['names'] = 'sepal / petal'
tbl.head()
sepal_length sepal_width petal_length petal_width species sepal_factor total_factor names
0 7.9 3.8 6.4 2.0 virginica 23.4 31.8 sepal / petal
1 7.7 2.6 6.9 2.3 virginica 20.6 29.8 sepal / petal
2 7.7 2.8 6.7 2.0 virginica 21.0 29.7 sepal / petal
3 7.7 3.0 6.1 2.3 virginica 21.4 29.8 sepal / petal
4 7.7 3.8 6.7 2.2 virginica 23.0 31.9 sepal / petal

動的に追加したカラムを使って、さらに動的なカラムを追加します。

tbl['cap_names'] = tbl.names.str.title()
tbl.head()
sepal_length sepal_width petal_length petal_width species sepal_factor total_factor names cap_names
0 7.9 3.8 6.4 2.0 virginica 23.4 31.8 sepal / petal Sepal / Petal
1 7.7 2.6 6.9 2.3 virginica 20.6 29.8 sepal / petal Sepal / Petal
2 7.7 2.8 6.7 2.0 virginica 21.0 29.7 sepal / petal Sepal / Petal
3 7.7 3.0 6.1 2.3 virginica 21.4 29.8 sepal / petal Sepal / Petal
4 7.7 3.8 6.7 2.2 virginica 23.0 31.9 sepal / petal Sepal / Petal

まとめ

SQLでも同様に計算したカラムを追加できますが、CASTableでは計算したカラムを使って、さらにカラムを追加できます。複雑な計算処理を行ったカラムも簡単に実現できますので、皆さんの分析に役立ててください。

SAS for Developers | SAS

0
1
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
1