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リファレンス等もありますので、参考にしてください。
コメント