簡體   English   中英

“浮動”對象在python中不可迭代

[英]'float' object is not iterable in python

我有以下功能:

def cambiar_tamano(size):
if 'M' in size:
    x = size[:-1]
    x = float(x)*1000000
    return(x)
elif 'k' == size[-1:]:
    x = size[:-1]
    x = float(x)*1000
    return(x)
else:
    return None

旨在轉換大小。 例如,將“25M”轉換為數值。 但是當我嘗試實現它時,我收到此錯誤:

TypeError: 'float' object is not iterable

編輯:這是數據框結構

數據框

對函數的調用:

data_store["Size"] = data_store["Size"].map(cambiar_tamano)

作為“data_store”數據幀的名稱和跟蹤:

    TypeError                                 Traceback (most recent call last)
<ipython-input-35-abbd67041e83> in <module>()
      7 #print(Size)
      8 
----> 9 data_store["Size"] = data_store["Size"].map(cambiar_tamano)
     10 data_store.Size.fillna(method = 'ffill', inplace = True)

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\series.py in map(self, arg, na_action)
   2996         """
   2997         new_values = super(Series, self)._map_values(
-> 2998             arg, na_action=na_action)
   2999         return self._constructor(new_values,
   3000                                  index=self.index).__finalize__(self)

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\base.py in _map_values(self, mapper, na_action)
   1002 
   1003         # mapper is a function
-> 1004         new_values = map_f(values, mapper)
   1005 
   1006         return new_values

pandas/_libs/src\inference.pyx in pandas._libs.lib.map_infer()

<ipython-input-34-72b73c9e233b> in cambiar_tamano(size)
      1 def cambiar_tamano(size):
----> 2     if 'M' in size:
      3         x = size[:-1]
      4         x = float(x)*1000000
      5         return(x)

TypeError: argument of type 'float' is not iterable

謝謝!

錯誤只是說“TypeError: 'float' object is not iterable

嘗試傳遞一個集合,可能作為一個字符串,例如。 "25M" ,然后根據提取后的需要等類型轉換為所需的數據類型。

參考:
https://docs.python.org/2/library/exceptions.html#exceptions.TypeError

暫無
暫無

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

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