LoginSignup
0
0

More than 5 years have passed since last update.

casTableの複数カラムを使ったグループ化

Last updated at Posted at 2019-01-30

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

機械学習を用いる際に専用のテーブル(casTable)を用いますが、今回はそのテーブルの複数カラムを指定するグループ化について解説します。

データを取り込む

今回使うのは organics.sas7bdat です。年齢、性別ごとに健康状態などが入ったデータです。まずこのデータを読み込みます。

organics = sess.upload('organics.sas7bdat')

グループ化するカラムを指定する

まず一つのカラムでグルーピングします。

organics.casTable.groupby = 'NGroup'

グループ化した際の値を確認します。

result = organics.casTable.summary(inputs='Age')
result['ByGroupInfo']
NGROUP NGROUP_f key
0
1 A A A
6 F F F
7 U U U

データを閲覧する

では実際のデータを確認します。

result2 = result.concat_bygroups()
result2['Summary'][['N', 'Min', 'Mean', 'Max', 'Std']]
N Min Mean Max Std
NGROUP
620.0 18.0 51.943548 79.0 13.402615
A 1725.0 19.0 57.141449 79.0 12.670404
B 3863.0 18.0 57.054103 79.0 12.526261
C 4228.0 18.0 53.967360 79.0 13.124790
D 4107.0 19.0 52.899440 79.0 12.772080
E 2431.0 21.0 53.461950 79.0 13.376446
F 3691.0 19.0 50.236521 79.0 13.375629
U 50.0 26.0 48.260000 77.0 15.145296

こうやってグルーピングしたデータを確認できます。

複数カラムを指定する

ではここから本番です。複数カラムをグルーピングに指定します。

organics.casTable.groupby = ['NGroup', 'Gender']
result = organics.casTable.summary(inputs='Age')
result3 = result.concat_bygroups()
result3['Summary'][['N', 'Min', 'Mean', 'Max', 'Std']]

そうするとデータも多段階に展開されます。

Descriptive Statistics for ORGANICS
N Min Mean Max Std
NGROUP GENDER
57.0 29.0 54.298246 78.0 12.562650
F 365.0 24.0 50.682192 79.0 13.316223
M 155.0 23.0 53.858065 78.0 13.177331
U 43.0 18.0 52.627907 78.0 15.104435
A 228.0 27.0 58.070175 79.0 10.859308
F 892.0 19.0 56.383408 79.0 13.528325
M 452.0 24.0 57.488938 79.0 11.934127
U 153.0 21.0 59.150327 79.0 11.843148
B 451.0 20.0 56.416851 79.0 12.255215
F 2079.0 19.0 56.823954 79.0 12.702405
M 1026.0 18.0 57.592593 79.0 12.522748
U 307.0 28.0 57.749186 79.0 11.662981
U 5.0 27.0 56.800000 76.0 18.212633
F 32.0 27.0 47.500000 77.0 16.372676
M 12.0 26.0 46.250000 57.0 10.172378
U 1.0 54.0 54.000000 54.0 NaN

この表示は organics.casTable.groupby のカラムを指定した順番で並びます。


グルーピングすることでデータの傾向が見えやすくなります。データを取り込んだ際に、まずデータの内容を分析する際に使ってみてください。

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