pandas将某列字符串转换成数字
时间: 2023-07-31 09:09:47 浏览: 106
可以使用 `pandas.to_numeric()` 方法将某列字符串转换成数字。
例如,假设我们有一个名为 `df` 的 pandas DataFrame,其中有一个名为 `col_name` 的列包含字符串值,我们想要将它们转换成数字:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'col_name': ['1', '2', '3', '4', '5']})
# 将 'col_name' 列转换成数字
df['col_name'] = pd.to_numeric(df['col_name'])
# 打印转换后的 DataFrame
print(df)
```
输出:
```
col_name
0 1
1 2
2 3
3 4
4 5
```
需要注意的是,如果某些字符串无法转换成数字,会抛出 `ValueError` 异常,可以通过指定 `errors` 参数来控制如何处理这些异常。例如:
```python
# 创建一个含有非数字字符串的 DataFrame
df = pd.DataFrame({'col_name': ['1', '2', 'three', '4', '5']})
# 尝试将 'col_name' 列转换成数字,遇到非数字字符串时忽略
df['col_name'] = pd.to_numeric(df['col_name'], errors='coerce')
# 打印转换后的 DataFrame
print(df)
```
输出:
```
col_name
0 1.0
1 2.0
2 NaN
3 4.0
4 5.0
```
在这个例子中,`errors='coerce'` 参数会将无法转换成数字的字符串转换成 `NaN` 值。
阅读全文