はなたの日記

ギターのコードについて書きます

Python pandasでcsvのアレコレ(その1)

卒論でパネルデータ分析を行います。必要なデータを入手したものの、必要な情報を抽出したり、整形する作業が必要です。

もちろん手作業でやっても良いのですが、せっかく一年間プログラミングを勉強したので、pythonで整形作業を行うことにしました。

扱うデータ

[テストページ]消費生活に関するパネル調査(JPSC) | 慶應義塾大学 パネルデータ設計・解析センター
こちらのパネルデータを使用しました。頂いたデータは、各年度csvファイルが5分割されているというものでした。
目標は「5つのcsvから必要な列を抽出して結合し、一つのcsvファイルとして出力する」です。
このために「csvの取得・読み込み」⇒「5つのcsvを結合」⇒「必要な列を抽出」⇒「欠損値を含む行の削除」⇒「csvに出力」を行いました。
中間発表に追われていて余裕がないため、理屈うんぬんは追えていません…

csvの取得・読み込み
csv_files = glob.glob('*.csv') #拡張子がcsvのファイル名を取得
data_lst = []

for i in csv_files:
	data_lst.append(pd.read_csv(i,index_col=0)) #一列目をindexとしてcsvの読み込み
データフレームの結合・抽出
df = pd.concat(data_lst,axis=1) #csvを横方向に連結
in_list = ['Q296A','Q296B','Q8','P3','Q689A','Q689B','Q57','Q687','Q215','Q216','Q218']
df = df[in_list] #in_listの要素を含む列のみを抽出
欠損値を持つ行の削除
df = df.dropna()
データフレームをcsvに出力
df.to_csv('file.csv')

やってて思いましたが、今までのプログラミングの知識がほとんど活かされないなという感じです。