#概要
社内システムでダウンロードしたデータをpandasで処理しようとしたら、先頭列がindexになってしまってハマった事例の紹介
#現象
問題のデータ(もちろん実際のデータとは違います。)
name,population,area
Osaka,2691k,223,
Nara,353k,276,
Kyoto,1472k,827,
Koube,1542k,552,
Wakayama,355k,208,
一見問題の無さそうな下記のようなデータをread_csv()すると、先頭列(name)がindexになっている。
#原因
各レコードの最後には「,」があるのに、Header行の末尾には「,」が無いのが原因。
試しにヘッダー行の最後に「,」を入れると。下のように一列余計なカラムは追加されるがindexは自動で振り出された。
今回のサンプルはわかりやすいようにcsvファイルでまとめたが、実際に業務でつまったのはtsv(タブ区切り)だったので余計に時間を要してしまった。
#教訓と感想
ツールに溺れずデータをちゃんと見よう。
にしても、pandasで軽くデータを編集できるようになってからExcelを使う機会が減った気がする。今回のデータも50Mぐらいのtsvファイルだったけど数秒で読み込めたし。(Excelはハングしてしまった・・・・。)