2021/04/27
Python連携
このコンテンツでは、Pythonを用いて複数計算カラムを追加する方法について説明します。
なお、本コンテンツで利用したSpotfireのバージョンは10.10/11.4です。ご利用環境によって、一部画面構成が異なりますので、ご了承ください。
TERRで複数の計算カラムを一括で作成する方法について、こちらの記事で紹介しました。本記事では、Spotfireに内包されているPythonを用いて、同様の処理を実施していきます。
本ケースで利用するテストデータを、Pythonを利用して作成します。次のようなデータテーブルを作成します。
Spotfireメニューより、「ツール」>「データ関数を登録」を選択し「スクリプト」に下記スクリプトを記載して下さい。
「出力パラメータ」タブを選択し、作成した変数a を「テーブル」として登録してSpotfire側で受け取れるようにします。「追加」を選択し、出力パラメータを次のように設定してください。
設定が終わったら右上の「実行」を押します。
「パラメータの編集」という画面がでます。これはaというPythonが出力したデータをSpotfire側でどのように扱うか設定します。
テーブルとして使いますので、データテーブルを選択してください。
100×64のaというデータテーブルがSpotfire側に作成できます。
計算したカラムを追加します。
1カラム目から33カラムを引いて、2カラム目から34カラムを引いて、ということを繰り返していきます。
今度は計算カラムを追加するためのスクリプトを追加します。再度「ツール」>「データ関数を登録」を選択し「スクリプト」に次のコードを記載して下さい。 aテーブルを2つに分けカラム名をそろえた上で引き算をしています。
df_1 = a.iloc[:, :32]
df_2 = a.iloc[:, 32:]
df_1.columns = list(range(32))
df_2.columns = list(range(32))
ret = df_1 - df_2
今回は出力パラメータだけでなく、入力パラメータも設定する必要がありますので、「パラメータの入力」タブで「追加」を押して、aを定義します。
また、「出力パラメータ」で計算したretを定義します。複数カラムありますので「タイプ」はテーブルにします。
「実行」ボタンを押すと入力と出力のパラメータを設定する画面が表示されます。
入力はaテーブルを渡しますので、カラムを選択して全カラムを指定して下さい。
出力は元のaテーブルに結果カラムとして追加したいので「カラム」を選択してください。
別に結果テーブルとして保存したい場合は「データテーブル」を選択するとretというテーブルが新規作成されます。
結果として0(2)などの新規カラムが32個追加されます。
今回は簡単に引き算にしましたが、これ以外に様々な集計方法も設定できます。スクリプトを記載する事で柔軟なデータ変換が可能になります。
前の記事
選択データのみ縦変換次の記事
Pythonデータ関数の使い方【Python連携】最新の記事
import numpy as np
import pandas as pd
a = np.random.uniform(0, 2, (100, 64))
a = pd.DataFrame(a)