【发布时间】:2020-12-08 10:48:10
【问题描述】:
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
【问题讨论】:
-
请提供一个可以更好地解释您的问题的标题。
-
Cannot convert non-finite values (NA or inf) to integer,您的births['day']具有NaN或Inf值 -
births['day'] = births['day'].fillna(0)这难道不是通过将 NA 替换为 0 来改变结果吗?
标签: python pandas matplotlib data-science