⑥行(インデックス)に各合計を追加

今回の目的は
前回の⑤各フレームをくっつける(concat)で作ったデータ(df_concat )へ
「合計」行(インデックス)を付け足します。

工程としては

①決済回数、確定損益、(スワップ)の合計数の計算
②上記の合計数を「合計」行(インデックス)としてdf_concat へ付け足します。

付け足した完成形がこちら↓


         決済回数    確定損益  (スワップ)
通貨ペア                               

AUD/JPY   1.0        883.0     -17.0   
CAD/JPY   1.0        800.0       0.0   
EUR/GBP   2.0       2274.0     134.0   
EUR/JPY   1.0       1000.0       0.0   
NZD/USD   1.0        752.0     -20.0   
USD/JPY   1.0        770.0     -30.0   
合計      7.0       6479.0      67.0 

通貨ペアの一番下に「合計」の行がプラスされています。

順番

決済回数、確定損益、(スワップ)の合計数の計算

もとめたいのは「決済回数」「確定損益」「スワップ」の合計です。
使用する関数はsum

「決済回数」の合計を出す場合

kaisu_t = df_concat['決済回数'].sum()

↑は、kaisu_tという変数に
df_concatのデータの中の決済回数の列の合計sumを代入

という意味のプログラムになります。

同じように「確定損益」「スワップ」の合計も出します。

kakutei_t = df_concat['確定損益'].sum()
swap_t = df_concat['(スワップ)'].sum()

こうして「決済回数」「確定損益」「スワップ」の合計がでます。

「合計」行(インデックス)をdf_concat へ追加

次にそれぞれの合計数をdf_concatに追加します。

プログラムは↓

df_concat.loc['合計'] = [kaisu_t, kakutei_t, swap_t, sinki_t]

↑の意味は、

df_concatのデータに合計のインデックスを作り(df_concat.loc['合計'])、
その行に「決済回数」「確定損益」「スワップ」の合計を記入

となります。

pandasではdf.loc[行(インデックス)]と指定することで、
その1行のデータが取得できます。

例えばdf_concat.loc['AUD/JPY']とすることで

print(df_concat.loc['AUD/JPY'])

決済回数        1.0
確定損益      883.0
(スワップ)    -17.0

とデータが抜き出せます。

そこでdf_concat.loc['合計']と指定し、
「= 」で[kaisu_t, kakutei_t, swap_t, sinki_t]を代入

df_concat.loc['合計'] = [kaisu_t, kakutei_t, swap_t, sinki_t]

とすることで合計行の追加ができます。

⑦pandasからcsvへ

おすすめの記事