SAS Viya The Python Perspectiveで利用されている元データについて

[SAS Viya](https://www.sas.com/ja_jp/software/viya.html)を使ったPythonによる開発手法については[SAS Viya The Python Perspective](https://www.amazon.co.jp/dp/B06X18R5WS/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)を読んでいただくことで前処理であったり、データの簡易分析について理解してもらえます。

本書籍では幾つかデータを用意した上でコードを書いていますが、そのデータの場所を紹介します。

## organic.sashdat

organic.sashdatという名前自体のファイルは公開していませんが、元データになるCSVについては[GitHubにて公開しています](https://github.com/sassoftware/sas-viya-the-python-perspective/blob/master/data/organics.csv.zip?raw=true)。なお、このファイルはZipで52.7MP、解凍すると
252.9MBあります。本番環境であれば問題ありませんが、デモ環境では25MB以上のファイルがアップロードできないため、一部だけを取り出す必要があります。

例えばRubyの場合は以下のようなスクリプトでデータの一部だけをピックアップできます。

```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
```

読み込むと構造が分かりやすくなります。

```py
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 | 0
| 1 | DemAffl | 2 | double | 8 | 12 | 0 | 0
| 2 | DemAge | 3 | double | 8 | 12 | 0 | 0
| 3 | DemGender | 4 | varchar | 1 | 1 | 0 | 0
| 4 | DemHomeowner | 5 | varchar | 3 | 3 | 0 | 0
| 5 | DemAgeGroup | 6 | varchar | 7 | 7 | 0 | 0
| 6 | DemCluster | 7 | double | 8 | 12 | 0 | 0
| 7 | DemReg | 8 | varchar | 10 | 10 | 0 | 0
| 8 | DemTVReg | 9 | varchar | 12 | 12 | 0 | 0
| 9 | DemFlag1 | 10 | double | 8 | 12 | 0 | 0
| 10 | DemFlag2 | 11 | double | 8 | 12 | 0 | 0
| 11 | DemFlag3 | 12 | double | 8 | 12 | 0 | 0
| 12 | DemFlag4 | 13 | double | 8 | 12 | 0 | 0
| 13 | DemFlag5 | 14 | double | 8 | 12 | 0 | 0
| 14 | DemFlag6 | 15 | double | 8 | 12 | 0 | 0
| 15 | DemFlag7 | 16 | double | 8 | 12 | 0 | 0
| 16 | DemFlag8 | 17 | double | 8 | 12 | 0 | 0
| 17 | PromClass | 18 | varchar | 8 | 8 | 0 | 0
| 18 | PromTime | 19 | double | 8 | 12 | 0 | 0
| 19 | TargetBuy | 20 | varchar | 6 | 6 | 0 | 0
| 20 | Bought_Beverages | 21 | varchar | 3 | 3 | 0 | 0
| 21 | Bought_Bakery | 22 | varchar | 3 | 3 | 0 | 0
| 22 | Bought_Canned | 23 | varchar | 3 | 3 | 0 | 0
| 23 | Bought_Dairy | 24 | varchar | 3 | 3 | 0 | 0
| 24 | Bought_Baking | 25 | varchar | 3 | 3 | 0 | 0
| 25 | Bought_Frozen | 26 | varchar | 3 | 3 | 0 | 0
| 26 | Bought_Meat | 27 | varchar | 3 | 3 | 0 | 0
| 27 | Bought_Fruits | 28 | varchar | 3 | 3 | 0 | 0
| 28 | Bought_Vegetables | 29 | varchar | 3 | 3 | 0 | 0
| 29 | Bought_Cleaners | 30 | varchar | 3 | 3 | 0 | 0
| 30 | Bought_PaperGoods | 31 | varchar | 3 | 3 | 0 | 0
| 31 | Bought_Others | 32 | varchar | 3 | 3 | 0 | 0
| 32 | purchase_3mon | 33 | double | 8 | 12 | 0 | 0
| 33 | purchase_6mon | 34 | double | 8 | 12 | 0 | 0
| 34 | purchase_9mon | 35 | double | 8 | 12 | 0 | 0
| 35 | purchase_12mon | 36 | double | 8 | 12 | 0 | 0

## cars.csv

cars.csvは[GitHubにて公開しています](https://raw.githubusercontent.com/sassoftware/sas-viya-programming/master/data/cars.csv)。リポジトリがorganic.csvとは異なるので注意してください。こちらはサイズが小さいので、デモ環境でもアップロードして利用できます。

構造は次の通りです。

| Column | ID | Type | RawLength | FormattedLength | NFL | NFD
|-------|-------|-------|-------|-------|-------|-------
| 0 | Make | 1 | varchar | 13 | 13 | 0 | 0
| 1 | Model | 2 | varchar | 39 | 39 | 0 | 0
| 2 | Type | 3 | varchar | 6 | 6 | 0 | 0
| 3 | Origin | 4 | varchar | 6 | 6 | 0 | 0
| 4 | DriveTrain | 5 | varchar | 5 | 5 | 0 | 0
| 5 | MSRP | 6 | double | 8 | 12 | 0 | 0
| 6 | Invoice | 7 | double | 8 | 12 | 0 | 0
| 7 | EngineSize | 8 | double | 8 | 12 | 0 | 0
| 8 | Cylinders | 9 | double | 8 | 12 | 0 | 0
| 9 | Horsepower | 10 | double | 8 | 12 | 0 | 0
| 10 | MPG_City | 11 | double | 8 | 12 | 0 | 0
| 11 | MPG_Highway | 12 | double | 8 | 12 | 0 | 0
| 12 | Weight | 13 | double | 8 | 12 | 0 | 0
| 13 | Wheelbase | 14 | double | 8 | 12 | 0 | 0
| 14 | Length | 15 | double | 8 | 12 | 0 | 0

## まとめ

この他、デモ用のデータであったり、GitHubリポジトリ内にもファイルがアップロードしてあります。SAS Viyaを体験する際にご利用ください。

[SAS for Developers | SAS](https://developer.sas.com/home.html)