pandasでデータ編集コード(売上集計)
やりたいこと・・・1週間のFXの損益をまとめる
パイソンを実行することで、
上記添付のCSV画像から集計excel画像のようにしたい
コード記載の手順としては
①csvからpandasでの読込
②集計に必要な項目を表示する
③金額集計(確定損益・スワップ)groupby/sum
④項目(通貨ペア)の出現回数のカウント groupby/count
⑤各フレームをくっつける(concat)
⑥行(インデックス)に各合計を追加
⑦pandasからExcelへ
完成したコード
import pandas as pd
#読み込み
#df = pd.read_csv(r'C:\Users\usita\Dropbox\My PC (DESKTOP-DBQ1KH6)\Desktop\成立履歴_20210612092735.csv',encoding='shift jis')
df = pd.read_csv('C:\\Users\\usita\\Dropbox\\My PC (DESKTOP-DBQ1KH6)\\Desktop\\成立履歴_20210612092735.csv',encoding='shift jis')
#エスケープシーケンス
print(df)
#dfの項目を表示
print(df.columns.values)
#必要項目のみを表示する。
df = df[['通貨ペア','確定損益','(スワップ)']]
#a["名前"].dtype 集計の計算の為の準備 データ型を調べる
print(df.dtypes)
#+1,000を1000に置き換える
if df['確定損益'].dtype == object:
df['確定損益'] = df['確定損益'].str.replace('+', '')
df['確定損益'] = df['確定損益'].str.replace(',', '')
df = df.astype({'確定損益': int})
#通貨ペアごとの損益/(スワップ)集計
df_tuka = df.groupby('通貨ペア').sum()[['確定損益','(スワップ)']]
#通貨ペアごとの回数集計のためのrename
df_rename = df.rename(columns={'確定損益':'回数'})
#通貨ペアごとの回数集計
df_count = df_rename.groupby('通貨ペア').count()['回数']
#concat
df_concat = pd.concat([df_count, df_tuka], axis=1)
#print(df_concat)
#columnns列合計 追加 /Total = df['1'].sum() /df.loc['FIVE'] = ['A5', 'B5', 'C5'] 回数 確定損益 (スワップ)
kaisu_t = df_concat['回数'].sum()
kakutei_t = df_concat['確定損益'].sum()
swap_t = df_concat['(スワップ)'].sum()
df_concat.loc['合計'] = [kaisu_t, kakutei_t, swap_t]
#excel書き出し
df_concat.to_excel(r'C:\Users\usita\Dropbox\My PC (DESKTOP-DBQ1KH6)\Desktop\集計.xlsx')
これを順番説明してきます。
まずはpandasでのCSVファイルの読み込みです。


