Skip to main content
 首页 » 编程设计

python之尝试将 Python Pandas 中带有字符串的列转换为 Float 时出错

2025年05月04日22lovecherry

我有一个名为“market_cap_(in_us_$)”的列,其值如下:

$5.41  
$18,160.50  
$9,038.20  
$8,614.30  
$368.50  
$2,603.80  
$6,701.50  
$8,942.40  

我的最终目标是能够根据特定数值(例如 > 2000.00)进行过滤。

通过阅读本网站上的其他问题,我按照以下说明进行操作:

cleaned_data['market_cap_(in_us_$)'].replace( '$', '', regex = True ).astype(float) 

但是,我收到以下错误

TypeError: replace() got an unexpected keyword argument 'regex' 

如果我从替换参数中删除“regex = True”,我会得到

ValueError: could not convert string to float: $5.41 

那么,我该怎么办呢?

请您参考如下方法:

此处给出了要使用的正确正则表达式,因为您要删除 $ 和 ,:

In [7]: 
 
df['market_cap_(in_us_$)'].replace('[\$,]', '', regex=True).astype(float) 
Out[7]: 
0        5.41 
1    18160.50 
2     9038.20 
3     8614.30 
4      368.50 
5     2603.80 
6     6701.50 
7     8942.40 
Name: market_cap_(in_us_$), dtype: float64 

但是由于您遇到了 keyword argument 'regex' 错误,您一定使用了非常旧的版本,应该更新。