簡體   English   中英

我在使用數據科學解決 python 書中的這個問題時遇到錯誤?

[英]i have got an error solving this problem from book python with data science?

births['day']=births['day'].astype(int)

我是通過 jupyter notebook 解決這個問題的不知道請幫我解決這個問題。

我正在使用數據集 births.csv


ValueError                                
Traceback (most recent call last) <ipython-input-12-e7a41e4b25cc> in <module>
    ----> 1 births['day']=births['day'].astype(int) ~\anaconda3\lib\site-packages\pandas\core\generic.py in astype(self, dtype, copy, errors)    5696         else:    5697             # else, only a single dtype is given
    -> 5698             new_data = self._data.astype(dtype=dtype, copy=copy, errors=errors)    5699             return self._constructor(new_data).__finalize__(self)    5700  ~\anaconda3\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): ~\anaconda3\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  ~\anaconda3\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 ~\anaconda3\lib\site-packages\pandas\core\dtypes\cast.py in astype_nansafe(arr, dtype, copy, skipna)
        866 
        867         if not np.isfinite(arr).all():
    --> 868             raise ValueError("Cannot convert non-finite values (NA or inf) to integer")
        869 
        870     elif is_object_dtype(arr): ValueError: Cannot convert non-finite values (NA or inf) to integer

您的 DataFrame 似乎在該列中包含nan值。 因此,您可以在轉換前填充這些值或刪除它們。

讓我們在這里用 0 填充 NaN 值:

births['day'] = births['day'].fillna(0).astype(int)

有關 Pandas 中管理缺失值的啟發性閱讀,請參閱此鏈接: https://www.geeksforgeeks.org/working-with-missing-data-in-pandas/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM