前提・実現したいこと
object型でインポートされたデータフレームの中の値を
全てint型にしたいと思っております。
しかし、数値が''で囲まれているようで、
.replace("''", '')で対処しようとしたのですが、
中々うまくいきません。
下記はデータの一部です。
months total organic guests 0 Jan 1,021,069 561,101 103,929
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-8-b66f6148172e> in <module> 1 df = df.replace("''", '') ----> 2 df = df.astype(int) 3 df.info() c:\users\lib\site-packages\pandas\core\generic.py in astype(self, dtype, copy, errors) 5695 else: 5696 # else, only a single dtype is given -> 5697 new_data = self._data.astype(dtype=dtype, copy=copy, errors=errors) 5698 return self._constructor(new_data).__finalize__(self) 5699 c:\users\lib\site-packages\pandas\core\internals\managers.py in astype(self, dtype, copy, errors) 580 581 def astype(self, dtype, copy: bool = False, errors: str = "raise"): --> 582 return self.apply("astype", dtype=dtype, copy=copy, errors=errors) 583 584 def convert(self, **kwargs): c:\users\lib\site-packages\pandas\core\internals\managers.py in apply(self, f, filter, **kwargs) 440 applied = b.apply(f, **kwargs) 441 else: --> 442 applied = getattr(b, f)(**kwargs) 443 result_blocks = _extend_blocks(applied, result_blocks) 444 c:\users\lib\site-packages\pandas\core\internals\blocks.py in astype(self, dtype, copy, errors) 623 vals1d = values.ravel() 624 try: --> 625 values = astype_nansafe(vals1d, dtype, copy=True) 626 except (ValueError, TypeError): 627 # e.g. astype_nansafe can fail on object-dtype of strings c:\users\lib\site-packages\pandas\core\dtypes\cast.py in astype_nansafe(arr, dtype, copy, skipna) 872 # work around NumPy brokenness, #1987 873 if np.issubdtype(dtype.type, np.integer): --> 874 return lib.astype_intsafe(arr.ravel(), dtype).reshape(arr.shape) 875 876 # if we have a datetime/timedelta array of objects pandas\_libs\lib.pyx in pandas._libs.lib.astype_intsafe() ValueError: invalid literal for int() with base 10: '1,021,069'
該当のソースコード
Python
1data = pd.read_csv(path, sep=',') 2data.info() 3""" 4<class 'pandas.core.frame.DataFrame'> 5RangeIndex: 13 entries, 0 to 12 6Data columns (total 4 columns): 7 # Column Non-Null Count Dtype 8--- ------ -------------- ----- 9 0 months 13 non-null object 10 1 total 13 non-null object 11 2 organic 13 non-null object 12 3 guests 13 non-null object 13dtypes: object(4) 14memory usage: 272.0+ bytes 15""" 16df = data.drop('months', axis=1) 17df = df.replace("''", '') 18df = df.astype(int) 19df.info()
何卒宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/06 10:26
2020/02/06 10:33