2

列に数値を表す文字列が含まれている可能性があり、予期しない非数値文字が含まれている可能性があり、文字列で表される数値が float または int 型である可能性がある pandas DataFrames を扱っています。たとえば、DataFrame には、float が 625452242.95 の場合は「$625,452,242.95」、int が 53000395 の場合は「53.000.395」のようなものが含まれる場合があります。DataFrame は CSV ファイルから読み取られており、非常に大きい場合があります。

DataFrame 内のそのようなすべての文字列を適切な数値型に変換する最も効率的な方法は何ですか? ありがとうございました。

4

2 に答える 2

5

これらの記号と区切り記号を置き換えることもできます。

In [27]: df = pd.DataFrame([['$1,111'], ['$2,222']])

In [28]: df
Out[28]: 
        0
0  $1,111
1  $2,222

In [29]: df[0] = df[0].str.replace(r'[$,]', '').astype('float')

In [30]: df
Out[30]: 
      0
0  1111
1  2222
于 2013-07-16T04:04:25.213 に答える