我有一个名为“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' 错误,您一定使用了非常旧的版本,应该更新。
