隗より始めよ

今後はいろいろ考え始めます。

pandasでcsvやexcelを読み込む場合に邪魔なコンマを消す方法

ちょっと初歩の初歩で躓いた。探しても良い回答がなかったが、やり方は超簡単だったのでメモしておきます。

pandasを使って、read_csvやread_excelでデータを読み込んで計算するときに邪魔なのがコンマです。1,000,000みたいな感じで、可読性を考えると最高に良いやつで、私はこれなしのシートは見る気もしないのですが、Pythonで読み込ますとなると、一転、邪魔な存在となります。なぜかというと数字として認識せず、文字列として取り扱ってしまい、コンマをreplace()なんかで置き換え、int()やfloat()に変換するという二重の作業を行うのが常でした。

めんどくさい・・・と思った私は久々にドキュメントを開きました。すると便利な奴がありました。

read_excelにもread_csvにもthousandsというパラメーターが!!!!

thousands : str, default None
Thousands separator for parsing string columns to numeric. Note that this parameter is only necessary for columns stored as TEXT in Excel, any numeric columns will automatically be parsed, regardless of display format.

pandas.read_excel — pandas 0.22.0 documentation

というわけで、これを使えば千の区切りにコンマがあってもへっちゃらです。

df = read_csv(filename, thousands=',')

これだけで解決でした。いや便利だ!!

使い慣れたものでもちゃんとドキュメントを見てみるというのは重要ですなぁー。(完)