4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

teradatamlデータフレームで新しいカラムを追加する

Last updated at Posted at 2022-11-28

Teradata® Package for Python Function Reference [リリース番号:17.10 リリース日付:2022/4]の翻訳です。

はじめに

Pythonでteradatamlデータフレームを作成し新しいカラムを追加する方法を説明します。
ライブラリとしてteradatamlを利用します。

teradatamlはTeradata Vantage用のPythonライブラリです。

基本操作

Vantageに接続する

python code
# 接続用ライブラリの宣言
import teradataml as tdml
# データベース接続
tdml.create_context(host = "IPアドレス",username='ユーザ名',password='パスワード')

テーブルを指定してデータを取得する

python code
# Customerテーブルのデータをteradatamlデータフレームに読み込む
teradataml_iris = tdml.DataFrame.from_table("iris_table")

## データフレームの中身を確認
teradataml_iris
結果を表示
     sepallength  sepalwidth  petallength  petalwidth      target
idx                                                              
122          7.7         2.8          6.7         2.0   virginica
116          6.5         3.0          5.5         1.8   virginica
91           6.1         3.0          4.6         1.4  versicolor
143          6.8         3.2          5.9         2.3   virginica
95           5.7         3.0          4.2         1.2  versicolor
11           4.8         3.4          1.6         0.2      setosa
10           5.4         3.7          1.5         0.2      setosa
125          7.2         3.2          6.0         1.8   virginica
35           5.0         3.2          1.2         0.2      setosa
43           5.0         3.5          1.6         0.6      setosa

既存のカラムで演算により新しいカラムを作成します。

python code
# データフレームにnew_colと言うカラムを追加します
teradataml_iris2 = teradataml_iris.assign(new_col = teradataml_iris.sepallength * teradataml_iris.sepalwidth)

# データフレームの中身を確認
teradataml_iris2
結果を表示
     sepallength  sepalwidth  petallength  petalwidth      target  new_col
idx                                                                       
17           5.1         3.5          1.4         0.3      setosa    17.85
143          6.8         3.2          5.9         2.3   virginica    21.76
0            5.1         3.5          1.4         0.2      setosa    17.85
116          6.5         3.0          5.5         1.8   virginica    19.50
144          6.7         3.3          5.7         2.5   virginica    22.11
11           4.8         3.4          1.6         0.2      setosa    16.32
125          7.2         3.2          6.0         1.8   virginica    23.04
10           5.4         3.7          1.5         0.2      setosa    19.98
74           6.4         2.9          4.3         1.3  versicolor    18.56
97           6.2         2.9          4.3         1.3  versicolor    17.98

カテゴリ変数を追加する

python code
# setosaカラムを追加する。targetカラムの値が"setosa"の時に1を立てる。
teradataml_iris = teradataml_iris.assign(drop_columns = False, setosa     = teradataml_iris.target.str.contains('setosa'))
# versicolorカラムを追加する。targetカラムの値が"versicolor"の時に1を立てる。
teradataml_iris = teradataml_iris.assign(drop_columns = False, versicolor = teradataml_iris.target.str.contains('versicolor'))
# virginicaカラムを追加する。targetカラムの値が"virginica"の時に1を立てる。
teradataml_iris = teradataml_iris.assign(drop_columns = False, virginica  = teradataml_iris.target.str.contains('virginica'))

# データフレームの中身を確認
teradataml_iris
結果を表示
     sepallength  sepalwidth  petallength  petalwidth      target setosa versicolor virginica
idx                                                                                          
101          5.8         2.7          5.1         1.9   virginica      0          0         1
120          6.9         3.2          5.7         2.3   virginica      0          0         1
99           5.7         2.8          4.1         1.3  versicolor      0          1         0
61           5.9         3.0          4.2         1.5  versicolor      0          1         0
19           5.1         3.8          1.5         0.3      setosa      1          0         0
80           5.5         2.4          3.8         1.1  versicolor      0          1         0
59           5.2         2.7          3.9         1.4  versicolor      0          1         0
38           4.4         3.0          1.3         0.2      setosa      1          0         0
40           5.0         3.5          1.3         0.3      setosa      1          0         0
141          6.9         3.1          5.1         2.3   virginica      0          0         1

Vantageから切断する

python code
# データベース切断
tdml.remove_context()

おわりに

警告
この本書はTeradata Vantageドキュメンテーションよりトピックに必要な情報を抜粋したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。

Teradata Vantageへのお問合せ

Teradata Vantage へのお問合せ

4
4
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?