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()