LoginSignup
1
0

More than 3 years have passed since last update.

CASTableをDataFrameのように扱う

Posted at

SAS ViyaはAIプラットフォームです。PythonやJava、Rなどの言語を通して利用できます。そのSAS Viyaの中で使われているのがCASTableというテーブルオブジェクトです(CASはCloud Analytic Servicesの略です)。今回はCASTableをPandasの中でDataFrameのように扱う方法を紹介します。

CASTableを取得する

まずはCASTableを取得します。今回はCSVをデータソースとします。

tbl = conn.loadtable('data/iris.csv', caslib='casuser').casTable

Pandasで同じようにCSVをデータソースとしてDataFrameを取得します。

df = pd.read_csv('/u/username/data/iris.csv')

カラムを出力します。

tbl.columns
# Index(['sepal_length', 'sepal_width', 'petal_length', 'petal_width',
#       'species'],
#      dtype='object')

DataFrameの場合です。

df.columns
# Index(['sepal_length', 'sepal_width', 'petal_length', 'petal_width',
#        'species'],
#       dtype='object')

データタイプは次のようになります。

df.dtypes

# sepal_length    float64
# sepal_width     float64
# petal_length    float64
# petal_width     float64
# species          object
# dtype: object

DataFrameの場合です。

tbl.dtypes

# sepal_length     double
# sepal_width      double
# petal_length     double
# petal_width      double
# species         varchar
# dtype: object

get_dtype_counts

get_dtype_countsの出力結果です。

tbl.get_dtype_counts()

# double     4
# varchar    1
# dtype: int64
df.get_dtype_counts()

# float64    4
# object     1
# dtype: int64

describe

describeの結果です。

casdesc = tbl.describe()
casdesc
sepal_length sepal_width petal_length petal_width
count 150.000000 150.000000 150.000000
mean 5.843333 3.054000 3.758667
std 0.828066 0.433594 1.764420
min 4.300000 2.000000 1.000000
25% 5.100000 2.800000 1.600000
50% 5.800000 3.000000 4.350000
75% 6.400000 3.300000 5.100000
max 7.900000 4.400000 6.900000
desc = df.describe()
desc
sepal_length sepal_width petal_length petal_width
count 150.000000 150.000000 150.000000
mean 5.843333 3.054000 3.758667
std 0.828066 0.433594 1.764420
min 4.300000 2.000000 1.000000
25% 5.100000 2.800000 1.600000
50% 5.800000 3.000000 4.350000
75% 6.400000 3.300000 5.100000
max 7.900000 4.400000 6.900000

まとめ

このようにCASTableはDataFrameと高い互換性を持っています。そのため、Pandasを用いてデータをグラフ化するのも可能です。皆さんのデータ分析にSAS Viya、そしてCASTableを活用してください。

SAS Viya | SAS

1
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
1
0