gpt4 book ai didi

python - 将字符串中的负数转换为 float (Python)?

转载 作者:太空狗 更新时间:2023-10-30 02:53:43 24 4
gpt4 key购买 nike

好的。我放弃了。

我有一个 DataFrame,其中有一列(“金额”)是大数字:

Amount
-1 000 000,00
4 848 903,00
-2 949 234,00
13 038 023,00
7 985 232,00
....

我想将这些转换成我可以用来计算的数字。

让我们调查一下:

>type(b["Amount"][0])
str

好的,这是一个字符串。

>float("-1 000 000,00".replace(' ', '').replace(',','.'))
-1000000.00

好的,效果很好!

为了使 lambda 变得简单(处理列中的所有元素),我需要在函数中使用它:

def make_float(num):
num = num.replace(' ','').replace(',','.')
return float(num)


>make_float(b["Amount"][0])
ValueError: could not convert string to float: −1 000 000.00

什么?!

>b["Amount"][0].replace(' ','').replace(',','.')
Out[258]:
'\xe2\x88\x921\xc2\xa0000\xc2\xa0000.00'

哦不! Unicode hell !我放弃了。

Python 是否有一个简单的函数/方法可以将我的数字(包括负数)转换为我可以用来计算的东西?

最佳答案

您似乎对字符串中的减号 ('-') 有疑问。

尝试:

def make_float(num):
num = num.replace(' ','').replace(',','.').replace("−", "-")
return float(num)

关于python - 将字符串中的负数转换为 float (Python)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48521384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com