This post is also available in: English-US (英語)
pandasを利用していて、数字区切りのカンマ(,)を replace() 関数で置換してデータ型変換を行うサンプルコードを、メモ代わりに書いています。
サンプルコード中のコメントにも書いていますが、replaceするSeriesのデータ型が str の場合には '.str' アクセサを利用して、floatの場合にはダイレクトに replace() を利用して置換可能です。
たまに利用すると、忘れてしまっている仕様です。
import pandas as pd # サンプルデータ sample_list = {'sampleA':["1,000","2,000","3,000"], 'sampleB':["4,000","5,000","6,000"]} # データフレーム作成 df = pd.DataFrame(sample_list) print(df) """ sampleA sampleB 0 1,000 4,000 1 2,000 5,000 2 3,000 6,000 """ # データ型を確認 print(type(df['sampleA'][0])) """ <class 'str'> """ # データ型が str の場合 .str アクセサを利用 df['sampleA'] = df['sampleA'].str.replace(',','').astype(float) print(df) """ sampleA sampleB 0 1000.0 4,000 1 2000.0 5,000 2 3000.0 6,000 """ # データ型がfloatの場合にはSeriesに対してダイレクトに replace() を利用 df['sampleA'] = df['sampleA'].replace(1000, 0) print(df) """ sampleA sampleB 0 0.0 4,000 1 2000.0 5,000 2 3000.0 6,000 """