SAS Viyaを使ったPythonによる開発手法についてはSAS Viya The Python Perspectiveを読んでいただくことで前処理であったり、データの簡易分析について理解してもらえます。
本書籍では幾つかデータを用意した上でコードを書いていますが、そのデータの場所を紹介します。
organic.sashdat
organic.sashdatという名前自体のファイルは公開していませんが、元データになるCSVについてはGitHubにて公開しています。なお、このファイルはZipで52.7MP、解凍すると
252.9MBあります。本番環境であれば問題ありませんが、デモ環境では25MB以上のファイルがアップロードできないため、一部だけを取り出す必要があります。
例えばRubyの場合は以下のようなスクリプトでデータの一部だけをピックアップできます。
f = File.open(ARGV[0])
s = ARGV[1].to_i
f.each_line.with_index do |l, i|
next if i % s != 0
puts l
end
以下はサイズを30分の1にします。
$ ruby csv.rb ./organics.csv 30 > organics_mini.csv
読み込むと構造が分かりやすくなります。
from swat import *
cashost='localhost'
casport=5570
useremail='dev@sas.com'
userpassword='password'
casauth='~/.authinfo'
conn = CAS(cashost, casport, useremail, userpassword, caslib="casuser")
cars = conn.upload('organics2.csv').casTable
cars.columninfo()
Column | ID | Type | RawLength | FormattedLength | NFL | NFD |
---|---|---|---|---|---|---|
0 | ID | 1 | double | 8 | 12 | 0 |
1 | DemAffl | 2 | double | 8 | 12 | 0 |
2 | DemAge | 3 | double | 8 | 12 | 0 |
3 | DemGender | 4 | varchar | 1 | 1 | 0 |
4 | DemHomeowner | 5 | varchar | 3 | 3 | 0 |
5 | DemAgeGroup | 6 | varchar | 7 | 7 | 0 |
6 | DemCluster | 7 | double | 8 | 12 | 0 |
7 | DemReg | 8 | varchar | 10 | 10 | 0 |
8 | DemTVReg | 9 | varchar | 12 | 12 | 0 |
9 | DemFlag1 | 10 | double | 8 | 12 | 0 |
10 | DemFlag2 | 11 | double | 8 | 12 | 0 |
11 | DemFlag3 | 12 | double | 8 | 12 | 0 |
12 | DemFlag4 | 13 | double | 8 | 12 | 0 |
13 | DemFlag5 | 14 | double | 8 | 12 | 0 |
14 | DemFlag6 | 15 | double | 8 | 12 | 0 |
15 | DemFlag7 | 16 | double | 8 | 12 | 0 |
16 | DemFlag8 | 17 | double | 8 | 12 | 0 |
17 | PromClass | 18 | varchar | 8 | 8 | 0 |
18 | PromTime | 19 | double | 8 | 12 | 0 |
19 | TargetBuy | 20 | varchar | 6 | 6 | 0 |
20 | Bought_Beverages | 21 | varchar | 3 | 3 | 0 |
21 | Bought_Bakery | 22 | varchar | 3 | 3 | 0 |
22 | Bought_Canned | 23 | varchar | 3 | 3 | 0 |
23 | Bought_Dairy | 24 | varchar | 3 | 3 | 0 |
24 | Bought_Baking | 25 | varchar | 3 | 3 | 0 |
25 | Bought_Frozen | 26 | varchar | 3 | 3 | 0 |
26 | Bought_Meat | 27 | varchar | 3 | 3 | 0 |
27 | Bought_Fruits | 28 | varchar | 3 | 3 | 0 |
28 | Bought_Vegetables | 29 | varchar | 3 | 3 | 0 |
29 | Bought_Cleaners | 30 | varchar | 3 | 3 | 0 |
30 | Bought_PaperGoods | 31 | varchar | 3 | 3 | 0 |
31 | Bought_Others | 32 | varchar | 3 | 3 | 0 |
32 | purchase_3mon | 33 | double | 8 | 12 | 0 |
33 | purchase_6mon | 34 | double | 8 | 12 | 0 |
34 | purchase_9mon | 35 | double | 8 | 12 | 0 |
35 | purchase_12mon | 36 | double | 8 | 12 | 0 |
cars.csv
cars.csvはGitHubにて公開しています。リポジトリがorganic.csvとは異なるので注意してください。こちらはサイズが小さいので、デモ環境でもアップロードして利用できます。
構造は次の通りです。
Column | ID | Type | RawLength | FormattedLength | NFL | NFD |
---|---|---|---|---|---|---|
0 | Make | 1 | varchar | 13 | 13 | 0 |
1 | Model | 2 | varchar | 39 | 39 | 0 |
2 | Type | 3 | varchar | 6 | 6 | 0 |
3 | Origin | 4 | varchar | 6 | 6 | 0 |
4 | DriveTrain | 5 | varchar | 5 | 5 | 0 |
5 | MSRP | 6 | double | 8 | 12 | 0 |
6 | Invoice | 7 | double | 8 | 12 | 0 |
7 | EngineSize | 8 | double | 8 | 12 | 0 |
8 | Cylinders | 9 | double | 8 | 12 | 0 |
9 | Horsepower | 10 | double | 8 | 12 | 0 |
10 | MPG_City | 11 | double | 8 | 12 | 0 |
11 | MPG_Highway | 12 | double | 8 | 12 | 0 |
12 | Weight | 13 | double | 8 | 12 | 0 |
13 | Wheelbase | 14 | double | 8 | 12 | 0 |
14 | Length | 15 | double | 8 | 12 | 0 |
まとめ
この他、デモ用のデータであったり、GitHubリポジトリ内にもファイルがアップロードしてあります。SAS Viyaを体験する際にご利用ください。