0
1

More than 1 year has passed since last update.

二つのcsvファイルをcolumnsのheaderをキーにして、横に結合する。

Posted at

環境

macOS mojave
visual studio code
python3.9.7
pandas1.3.4

本記事の内容

下のような二つのcsvファイルを、、、、

kion.csv

スクリーンショット 2021-11-12 1.38.32.png

kaze.csv

スクリーンショット 2021-11-12 1.38.39.png

下のように結合したい。("年月日"をkeyにして結合したい。)

all.csv

スクリーンショット 2021-11-12 1.38.46.png

目次

流れとしては、
もう一つcolumnsだけのDataFrameを作成し、
そこにkion.csvとkaze.csvを連結させていくような流れになります。
つまり、最終的に3つのDataFrameを結合させる形になります。
  1. 準備
  2. csvを持ってくる
  3. "年月日"を指定しt、columns行だけの新しいDataFrameを作成する。
  4. 新しく作成したdfに、二つのcsvを結合させる。
  5. 完成したDataFrameをcsvとして出力する
  6. 参考文献

準備

##    初期設定です    ####################################################################################################
#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を結合させる]という
コンパクトなコマンドは存在しないらしいので、
ひとまず、これを関数化させて使うことにしました。

参考文献

質問した場所
0
1
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
0
1