繁体   English   中英

将具有浮点数和字符串数的数组转换为浮点数

[英]Convert a array with float numbers and string numbers to float

我有一个带有浮点数的字符串,其中小数点分隔符是点,如 1.2、4.2 等。 还有其他小数点分隔符为逗号的数字,如 2,5、8,3 等。 我想将所有内容都转换为浮点数,并以点作为小数点分隔符。 我正在尝试使用以下代码

df["numbers"].apply(lambda x: x if x.is_float() else x.replace(',','.'))

执行该行时,我收到一条消息:'str' object has no attribute 'is_float'

谁能帮我?

谢谢

Python 字符串没有属性is_float

如果希望 python 检测字符串是否为浮点数,可以使用str.isdecimal()

注意:你不需要那个if语句。 如果字符串不包含',' ,调用str.replace(',','.')不会触发错误,它会保持原样。

替换后将x转换为float ,使其始终是浮点数而不是字符串,尝试:

df["numbers"].apply(lambda x: x if x.is_float() else float(x.replace(',','.')))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM