删除具有不同数据类型的 df 列中的非数字

Remove non-numeric in df column with different datatypes

我有一个这样的数据框:

Id  Volume
1   350 L
2   250.0
3   150//
4   250 L

我想删除 Volume 列中的非数字。期望输出是:

Id  Volume
1   350
2   250
3   150
4   250

我尝试使用 df['Volume'] = df['Volume'].str.extract('(\d+)', expand=False) 但它会将“250.0”和“150//”值变成 nan。

我也尝试过使用 df['Volume'] = df['Volume'].str[:3] 但它也会将 '250.0' 和 '150//' 值变成 nan。

我也尝试将列 dtypes 更改为字符串,但没有成功。它仍然是对象数据类型。

这应该有效:df['Volumne'] = df['Volume'].str.replace(r'[^0-9.]', '')