LoginSignup
5
3

More than 1 year has passed since last update.

teradatamlデータフレームでCSVファイルをテーブルにロードする

Last updated at Posted at 2022-11-25

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

はじめに

PythonでVantageにテーブルを作成しCSVデータをロードする方法を説明します。
ライブラリとしてteradatamlを利用します。

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

データの準備

sklernのIrisデータセットを読み込む

python code
import pandas as pd
from sklearn import datasets
iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target_names[iris.target]

データの中身を確認する

python code
df.head()
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) target
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa

CSVファイルを作成

python code
df.to_csv('iris.csv', index=False)

基本操作 (ここから本編)

Vantageに接続する

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

pandas DataFrameにiris.csvを読み込む

python code
# csvファイルをpandas DataFrameへ取り込み、カラム名を変換する。
pd_iris = pd.read_csv('iris.csv')
col = ['sepallength', 'sepalwidth', 'petallength', 'petalwidth', 'target']
pd_iris.columns = col

pandas DataFrameからテーブルを生成する

python code
# Teradata上へテーブルを作成
tdml.copy_to_sql(df = pd_iris, schema_name='ユーザ名', table_name='iris_table',
            index=True, index_label='idx', primary_index='idx', if_exists='replace')

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

# Customerテーブルのデータをteradatamlデータフレームに読み込む
tdml.DataFrame.from_table("iris_table")
結果を表示
     sepallength  sepalwidth  petallength  petalwidth      target
idx                                                              
109          7.2         3.6          6.1         2.5   virginica
118          7.7         2.6          6.9         2.3   virginica
24           4.8         3.4          1.9         0.2      setosa
16           5.4         3.9          1.3         0.4      setosa
72           6.3         2.5          4.9         1.5  versicolor
41           4.5         2.3          1.3         0.3      setosa
45           4.8         3.0          1.4         0.3      setosa
47           4.6         3.2          1.4         0.2      setosa
29           4.7         3.2          1.6         0.2      setosa
145          6.7         3.0          5.2         2.3   virginica

Vantageから切断する

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

おわりに

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

Teradata Vantageへのお問合せ

Teradata Vantage へのお問合せ

5
3
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
5
3