pythonでcsvの結合を列の方向(横方向)に行う方法【pandas(jupyternotebook)】 | ウルトラフリーダム

pythonでcsvの結合を列の方向(横方向)に行う方法【pandas(jupyternotebook)】

Python3
本サイトでは記事内に広告が含まれています。

Jupyternotebookにてpythonを使いこなすためにには、さまざまな処理方法を理解しておく必要があります。

たとえば、Excelデータをpandasにて列方向や行方向に結合(連結)させ、一つのExcelファイルとして出力させるにはどのように対処すればいいのか理解していますか。

ここでは、これらpandasでのexcelファイルの結合処理について解説していきます。

スポンサーリンク

Pythonでcsvを横方向(列方向)に結合する方法【concat】

まず以下のような二つのcsvデータ(csv名:sample4,sample5)があるとします。

これらを横方向(列方向)に連結するためには、concat関数を使用するといいです。なおポイントとしては、concat関数内にて横への連結を意味する、axis=1を忘れないようにするといいです。

import os
os.chdir(“C://sample”) #最初の2行はディレクトリの移動
import pandas as pd
df1 = pd.read_csv(‘sample4.csv’)
df2 = pd.read_csv(‘sample5.csv’)
df_concat = pd.concat([df1,df2],axis=1)
df_concat.to_csv(‘gousei.csv’,index=None)

コードのイメージとしては、各excelデータをpandasにて読み込みdfと定義し、これらdf同士をconcatでつなげていけばいいわけです。

 

3つ以上のcsvデータも同様に横方向に結合できる【python】

また、二つのexcelデータだけでなく、3つ以上になっても同様に処理すればいいです。

import os
os.chdir(“C://sample”)
import pandas as pd
df1 = pd.read_csv(‘sample4.csv’)
df2 = pd.read_csv(‘sample5.csv’)
df3 = pd.read_csv(‘sample6.csv’)
df_concat = pd.concat([df1,df2,df3],axis=1)
df_concat.to_csv(‘gousei2.csv’,index=None)

これを入れると、以下のようcsvが横に結合されたcsvデータが出力(書き込み)されました。

Pandasで列方向(横方向)にexcelファイルを結合する方法【python】

なお、ファイルでなく、csvでなくexcelであっても同じように処理すればいいです。

つまり、読み込みや書き込み時にexcelに対応した関数を使えばいいわけです。

import os
os.chdir(“C://sample”)
import pandas as pd
df1 = pd.read_excel(‘sample4.xlsx’)
df2 = pd.read_excel(‘sample5.xlsx’)
df_concat = pd.concat([df1,df2])
df_concat.to_excel(‘gousei.xlsx’,index=None)

となります。

まとめ pythonでcsvの結合を横方向に行う方法【pandas(jupyternotebook)】

 

 

コメント

タイトルとURLをコピーしました