SASのjupyterlabを用いて、CSVファイルからDataFrameオブジェクトを生成について

sasUEを用いてデータ解析を行なう場合、dataFremaにすることでデータ処理が便利になります。

今回の記事ではSASUEにあるjupyterlabを用いてdataFremaオブジェクト指向について記事にします。

pandas.DataFrameおよびpandas.Seriesのメソッドdescribe()を使うと、各列ごとに平均や標準偏差、最大値、最小値、最頻値などの要約統計量を取得できます

目次

サンプルコード

import pandas as pd

df = pd.read_csv('test20200820.csv')
type(df)
df.describe

sas = saspy.SASsession()
type(sas)
sas

test = sas.df2sd(df, 'test20200820')
type(test)

#要約統計
test.describe()

#SASデータセットの先頭5オブザベーションを表示
test.head()

# 先頭3オブザベーションを表示
test.head(obs=3)

#棒グラフ
test.bar('A')

#ヒートマップを作成
test.heatmap('A', 'B')

CSVファイルからDataFrameオブジェクトを生成

saspyとpandasのパッケージの読み込み

PythonにてSASを用いる場合にsaspyのimportが必要になりますが、SASのjupyterlabではsaspyのimportが必要ありません。

そのためimportはpandasのみなります。

import pandas as pd

なお、標準では入力フィールド内でShift+Enterで実行します。

入力フィールド内で改行する場合はEnterです。

次に読み込むデータを選択します。

CVSの読み込み

SASデータセットにする入力ファイルをフォルダ内にアップロードします。

DataFrameの生成

pandasのread_csvメソッドでアップロードしたCSVファイルを読み込み、DataFrameオブジェクトを生成します。

df = pd.read_csv('test20200820.csv')
type(df)

pandas.core.frame.DataFrameとなり、DataFrameが生成されます。

df.describe

describeメソッドで見ると下記のようになります。

<bound method NDFrame.describe of    No    A     B   C
0   1  181  69.2  23
1   2  156  43.1  22
2   3  156  39.1  12
3   4  176  91.9  65
4   5  162  44.5  34>

SASDataオブジェクトを生成する

sas = saspy.SASsession()

SASの中身が見れます。

sas
Access Method         = STDIO
SAS Config name       = default
WORK Path             = /tmp/SAS_work5F15000027C3_localhost.localdomain/
SAS Version           = 9.04.01M6P11072018
SASPy Version         = 2.2.9
Teach me SAS          = False
Batch                 = False
Results               = Pandas
SAS Session Encoding  = UTF-8
Python Encoding value = utf-8

次に、df2sdメソッドでCSVファイルから生成したDataFrameオブジェクトからSASdataオブジェクトを生成します。

test = sas.df2sd(df, 'test20200820')
type(test)
saspy.sasbase.SASdata

これでTESTというSASdataオブジェクトに対しての様々なメソッドが使用できます。

SASdataオブジェクトのメソッドを使ってみる

SASdataオブジェクトのメソッドをいくつか試してみます。

describeメソッド

SASdataの要約統計が表示されます。

test.describe()

headメソッド

SASデータセットの先頭5オブザベーションを表示します。

標準では5オブザベーションですが、下記のように引数を渡すこともできます。

test.head(obs=3)

tailメソッドを使えばSASデータセットの最終オブザベーションからの表示もできます。

barメソッド

引数に文字変数を指定し、その度数を棒グラフで返します。

ここでは変数Aごとの度数を表示します。

test.bar('A')

heatmapメソッド

引数に2つの数値変数を指定し、ヒートマップを作成します。

ここではA(身長)とB(体重)を指定します。

test.heatmap('A', 'B')

まとめ

以上、Pythonのsaspyパッケージの使い方を簡単に説明しました。

下記の公式ドキュメントにAPIリファレンス等もありますので、参考にしてください。

SASPy — saspy 4.3.2 documentation

コメント

タイトルとURLをコピーしました