SAS Viyaで使うテーブルのメソッドと取得できるデータについて

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

機械学習を用いる際に専用のテーブル(casTable)を用いますが、今回はそのテーブルオブジェクト(Python版)で取得できるデータについて解説します。


テーブルの作り方

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

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

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

iris = out.casTable


テーブル情報

テーブル情報は tableInfo メソッドで確認できます。

iris.tableInfo()

Name
Rows
Columns
IndexedColumns
Encoding
CreateTimeFormatted
ModTimeFormatted
AccessTimeFormatted
JavaCharSet
CreateTime
...
Global
Repeated
View
SourceName
SourceCaslib
Compressed
Creator
Modifier
SourceModTimeFormatted
SourceModTime

0
IRIS
150
5
0
utf-8
2018-10-10T00:50:58-04:00
2018-10-10T00:50:58-04:00
2018-10-10T00:50:58-04:00
UTF8
1.854766e+09
...
0
0
0

0
dev@sas.com

2018-10-10T00:50:57-04:00

テーブルのオーナー情報は userinfo で取得できます。

iris.userinfo()

{

'userId': 'dev@sas.com',
'providedName': 'dev@sas.com',
'uniqueId': 'dev@sas.com',
'groups': [
'sas',
'openid',
'_PDC_pdcesx13111'
],
'providerName': 'OAuth/External PAM',
'anonymous': False,
'hostAccount': True,
'guest': False
}


データ概要を確認

データの内容をざっと確認したい時には summary メソッドを使います。

iris.summary()

Column
Min
Max
N
NMiss
Mean
Sum
Std
StdErr
Var
USS
CSS
CV
TValue
ProbT
Skewness
Kurtosis

0
SepalLength
4.3
7.9
150.0
0.0
5.843333
876.5
0.828066
0.067611
0.685694
5223.85
102.168333
14.171126
86.425375
3.331256e-129
0.314911

1
SepalWidth
2.0
4.4
150.0
0.0
3.054000
458.1
0.433594
0.035403
0.188004
1427.05
28.012600
14.197587
86.264297
4.374977e-129
0.334053

2
PetalLength
1.0
6.9
150.0
0.0
3.758667
563.8
1.764420
0.144064
3.113179
2583.00
463.863733
46.942721
26.090198
1.994305e-57
-0.274464

3
PetalWidth
0.1
2.5
150.0
0.0
1.198667
179.8
0.763161
0.062312
0.582414
302.30
86.779733
63.667470
19.236588
3.209704e-42
-0.104997

同様に describe メソッドはデータが縦に確認できます。

iris.describe()

SepalLength
SepalWidth
PetalLength
PetalWidth

count
150.000000
150.000000
150.000000

mean
5.843333
3.054000
3.758667

std
0.828066
0.433594
1.764420

min
4.300000
2.000000
1.000000

25%
5.100000
2.800000
1.600000

50%
5.800000
3.000000
4.350000

75%
6.400000
3.300000
5.100000

max
7.900000
4.400000
6.900000


カラムの確認

カラムがどう読み込まれたかは columninfo で確認します。

iris.columninfo()

Column
ID
Type
RawLength
FormattedLength
NFL
NFD

0
SepalLength
1
double
8
12
0

1
SepalWidth
2
double
8
12
0

2
PetalLength
3
double
8
12
0

3
PetalWidth
4
double
8
12
0

4
Name
5
varchar
15
15
0


データを閲覧する

データの閲覧は fetch メソッドを使います。 to を指定して件数を制限できます。

iris.fetch(to=3)

SepalLength
SepalWidth
PetalLength
PetalWidth
Name

0
5.1
3.5
1.4
0.2

1
4.9
3.0
1.4
0.2

2
4.7
3.2
1.3
0.2


カラム情報

テーブルに存在するカラムは columns プロパティを使って確認します。

iris.columns

Index([

'SepalLength',
'SepalWidth',
'PetalLength',
'PetalWidth',
'Name'
], dtype='object')

さらに型を知りたい場合は dtypes を使います。

iris.dtypes

SepalLength     double

SepalWidth double
PetalLength double
PetalWidth double
Name varchar
dtype: object

info を使うと多くの情報が確認できます。

iris.info()

CASTable('IRIS', caslib='CASUSER(dev@sas.com)')

Data columns (total 5 columns):
   N Miss Type
SepalLength 150 False double
SepalWidth 150 False double
PetalLength 150 False double
PetalWidth 150 False double
Name 150 False varchar
dtypes: double(4), varchar(1)
data size: 9200
vardata size: 2000
memory usage: 9232


解析を行う際にはテーブルの内容を確認しながら行っていくと思います。これらのメソッドが役立つ場面は多いと思いますので、ぜひ覚えておいてください。

SAS for Developers | SAS