我想将datafram中某一列数据使用factorize编码后再投入使用,该如何写代码
时间: 2024-03-05 13:55:11 浏览: 71
可以使用 pandas 中的 `factorize` 函数将某一列数据编码为数字,代码示例如下:
```python
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({'color': ['red', 'green', 'blue', 'green', 'red', 'blue']})
# 使用 factorize 函数编码 color 列
df['color_encoded'] = pd.factorize(df['color'])[0]
print(df)
```
输出结果为:
```
color color_encoded
0 red 0
1 green 1
2 blue 2
3 green 1
4 red 0
5 blue 2
```
`factorize` 函数会返回一个元组,第一个元素是编码后的数字,第二个元素是每个数字对应的原始字符串。在上面的示例中,我们只取了第一个元素。如果需要使用原始字符串,可以将它们保存到一个变量中,例如:
```python
# 使用 factorize 函数编码 color 列,并保存原始字符串
df['color_encoded'], uniques = pd.factorize(df['color'])
print(df)
print(uniques)
```
输出结果为:
```
color color_encoded
0 red 0
1 green 1
2 blue 2
3 green 1
4 red 0
5 blue 2
Index(['red', 'green', 'blue'], dtype='object')
```
阅读全文