删除具有不同数据类型的 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.]', '')
我有一个这样的数据框:
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.]', '')