環境
macOS mojave
visual studio code
python3.9.7
pandas1.3.4
本記事の内容
####下のような二つのcsvファイルを、、、、
#####kion.csv
###下のように結合したい。("年月日"をkeyにして結合したい。)
#####all.csv
目次
流れとしては、
#####もう一つcolumnsだけのDataFrameを作成し、
#####そこにkion.csvとkaze.csvを連結させていくような流れになります。
#####つまり、最終的に3つのDataFrameを結合させる形になります。
- 準備
- csvを持ってくる
- "年月日"を指定しt、columns行だけの新しいDataFrameを作成する。
- 新しく作成したdfに、二つのcsvを結合させる。
- 完成したDataFrameをcsvとして出力する
- 参考文献
準備
## 初期設定です ####################################################################################################
#coding: UTF-8
import pandas as pd
import csv
import pandas as pd
########################################################################################################################
csvを持ってくる
## csvを用意する ##################################################################################################
df_all = pd.read_csv("kion.csv")
df_kaze = pd.read_csv("kaze.csv")
######################################################################################################################
"年月日"を指定し、columns行だけの新しいDataFramneを作成する。
## 年月日をkeyとしたcsvの作成 ###################################################################################
df_all_nenngappi = pd.merge(df_all, df_kaze, on='年月日')
##################################################################################################################
df_all_nenngappiに[df_all]と[df_kaze]を結合する。(concatコマンド)
## df_all_nenngappiにdf_allとdf_kazeを結合してみる(concat) ######################################################################
#まず、df_all_nenngappiとdf_allを結合。
df_all = pd.concat([df_all,df_all_nenngappi])
#次にdf_allとdf_kazeを結合する。
df_all = pd.concat([df_all,df_kaze])
#################################################################################################################################
結合したcsvファイルを出力
df_all.to_csv("df_all.csv")
私のための保険コメント
Masarina「ちがったらごめんなさい」
最後に
わたしは初心者です。初心者ながらいろんな方に質問[参考文献ご覧願]して、ようやく完成しました。
とりあえず、私が調べる限り、普通にmergeコマンドつか使うとエラー祭りです。
今回はcolumnsを複製してもう一つのDataFrameを作成して、それに結合させるという方法でした。
もっと簡潔なプログラムは存在すると思います。
とりあえず、今の所は[columnsを指定して二つのcsvを結合させる]という
コンパクトなコマンドは存在しないらしいので、
ひとまず、これを関数化させて使うことにしました。
参考文献
#####質問した場所