'float'对象在尝试映射序列时没有属性'item'

问题描述 投票:0回答:1

[当我尝试将float64转换为单个值的float时,它可以正常工作-

import pandas as pd
a=pd.DataFrame()
a['Num']=['1','2','3','4']
a

def float(x):
    return x.item()

float(a['Num'].astype('float')[1])

输出=“浮点数”格式的2.0

[当我在系列上尝试相同时,它引发错误“ float”对象没有属性'item'-

b=map(float,a['Num'].astype('float64'))
print(list(b))

请帮助!

python pandas floating-point int
1个回答
0
投票

不要将函数命名为“ float”不是一个好主意。

在这种情况下,您有numpy类型

import pandas as pd
a=pd.DataFrame()
a['Num']=['1','2','3','4']

def to_float(x):
    print(type(x))
    return x.item()

to_float(a['Num'].astype('float')[1])
<class 'numpy.float64'>
2.0

但是当您打电话时

list(map(to_float,a['Num'].astype('float64')))

您有错误,因为类浮动没有属性'item'

<class 'float'>
© www.soinside.com 2019 - 2024. All rights reserved.