pandas对象的指定列字符串转数字
时间: 2023-09-26 18:11:20 浏览: 89
你可以使用 Pandas 库中的 `map` 函数来完成这个任务。假设你的 Pandas 对象为 `data`,要转换的列为 `col_name`,要转换成数字的字符串为 `str_name`,那么可以使用以下代码:
```
data[col_name] = data[col_name].map({str_name: 1, 'other_string': 2, ...})
```
其中,`{}` 中为一个 Python 字典,表示要转换的字符串及对应的数字。
当然,也可以使用 `replace` 函数来完成类似的任务:
```
data[col_name].replace({str_name: 1, 'other_string': 2, ...}, inplace=True)
```
其中的 `inplace=True` 表示直接在原对象上修改数据。
相关问题
pandas对象指定列字符串替换为数字
好的,你可以使用pandas中的replace()方法来实现将指定列的字符串替换为数字。例如,要将名为'column_name'的列中的字符串'a'替换为数字1,字符串'b'替换为数字2,可以按如下方式进行:
```python
df['column_name'].replace({'a': 1, 'b': 2}, inplace=True)
```
注意,需要使用inplace=True参数来直接修改原数据框中的数据。
pandas中把字符串格式变为数字格式
可以使用astype()方法将对象中的数据类型转换为指定的数据类型。例如,将字符串转换为浮点数:
```python
import pandas as pd
df = pd.DataFrame({'A': ['1.2', '3.4', '5.6'], 'B': ['7', '8', '9']})
print(df)
# 将字符串列'A'转换为浮点数
df['A'] = df['A'].astype(float)
print(df)
```
输出:
```
A B
0 1.2 7
1 3.4 8
2 5.6 9
A B
0 1.2 7
1 3.4 8
2 5.6 9
```
同样,你也可以将字符串转换为整数、日期、布尔值等等。需要注意的是,如果字符串不能转换为指定的数据类型,将会抛出ValueError异常。
阅读全文