簡體   English   中英

如何從python中的對象中刪除特定字符串?

[英]How to remove a specific string from an object in python?

我正在嘗試從熊貓數據幀的下面 Engine 列中刪除CC並將此 Engine 轉換為浮點類型值。

此數據框中的引擎列

我已經嘗試了很多事情,我可以找到在互聯網上,但沒有作品me.A類似的問題存在於計算器在這里,但它給了我下面的錯誤:

錯誤

dtypecar_data['Engine']被示出為對象。 我急需。 請有人在這種情況下幫助我。

編輯1:

ValueError                                Traceback (most recent call last)
<ipython-input-147-237a92589206> in <module>
----> 1 car_data['Power']=car_data["Power"].str.strip(" bhp").astype(np.float64)

F:\Users\lenovo\Anaconda3\lib\site-packages\pandas\core\generic.py in astype(self, dtype, copy, errors, **kwargs)
   5689             # else, only a single dtype is given
   5690             new_data = self._data.astype(dtype=dtype, copy=copy, errors=errors,
-> 5691                                          **kwargs)
   5692             return self._constructor(new_data).__finalize__(self)
   5693 

F:\Users\lenovo\Anaconda3\lib\site-packages\pandas\core\internals\managers.py in astype(self, dtype, **kwargs)
    529 
    530     def astype(self, dtype, **kwargs):
--> 531         return self.apply('astype', dtype=dtype, **kwargs)
    532 
    533     def convert(self, **kwargs):

F:\Users\lenovo\Anaconda3\lib\site-packages\pandas\core\internals\managers.py in apply(self, f, axes, filter, do_integrity_check, consolidate, **kwargs)
    393                                             copy=align_copy)
    394 
--> 395             applied = getattr(b, f)(**kwargs)
    396             result_blocks = _extend_blocks(applied, result_blocks)
    397 

F:\Users\lenovo\Anaconda3\lib\site-packages\pandas\core\internals\blocks.py in astype(self, dtype, copy, errors, values, **kwargs)
    532     def astype(self, dtype, copy=False, errors='raise', values=None, **kwargs):
    533         return self._astype(dtype, copy=copy, errors=errors, values=values,
--> 534                             **kwargs)
    535 
    536     def _astype(self, dtype, copy=False, errors='raise', values=None,

F:\Users\lenovo\Anaconda3\lib\site-packages\pandas\core\internals\blocks.py in _astype(self, dtype, copy, errors, values, **kwargs)
    631 
    632                     # _astype_nansafe works fine with 1-d only
--> 633                     values = astype_nansafe(values.ravel(), dtype, copy=True)
    634 
    635                 # TODO(extension)

F:\Users\lenovo\Anaconda3\lib\site-packages\pandas\core\dtypes\cast.py in astype_nansafe(arr, dtype, copy, skipna)
    700     if copy or is_object_dtype(arr) or is_object_dtype(dtype):
    701         # Explicit copy, or required since NumPy can't view from / to object.
--> 702         return arr.astype(dtype, copy=True)
    703 
    704     return arr.view(dtype)

ValueError: could not convert string to float: 'null'

當我將Power屬性轉換為 float 時,我也遇到了上述錯誤。 請幫忙。

為什么不先做下面的代碼,然后再做:

car_data["Engine"] = car_data["Engine"].str.strip(" CC").astype(float)

或者:

car_data["Engine"] = car_data["Engine"].str[:-3].astype(float)

暫無
暫無

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

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