You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas读取CSV后将字符串(A/B)映射为整数(0/1)方法问询

解决pandas中字符串到整数的映射问题

嘿,作为Python和pandas的新手,这个字符串转整数的需求其实很好实现,给你几种简单好用的方法:

方法1:使用replace()函数

你可以创建一个映射字典,直接用replace()把目标列里的A和B替换成对应的整数:

import pandas as pd
data = pd.read_csv('filelocation/Data.csv', header=None)
# 定义映射关系
value_map = {'A': 0, 'B': 1}
# 对指定列进行映射转换
last_col_mapped = data.iloc[0:208, 60].replace(value_map)
print(last_col_mapped)

方法2:使用map()函数

map()专门用于这种元素级别的映射,用法更简洁:

import pandas as pd
data = pd.read_csv('filelocation/Data.csv', header=None)
last_col_mapped = data.iloc[0:208, 60].map({'A': 0, 'B': 1})
print(last_col_mapped)

方法3:利用分类类型(适合后续有分类操作的场景)

如果之后你还需要对这个列做分类相关的处理,可以把它转为category类型,再提取对应的编码:

import pandas as pd
data = pd.read_csv('filelocation/Data.csv', header=None)
# 将列转为分类类型,指定类别顺序(确保A对应0,B对应1)
category_col = data.iloc[0:208, 60].astype('category').cat.set_categories(['A', 'B'])
# 提取分类编码
last_col_mapped = category_col.cat.codes
print(last_col_mapped)

这几种方法都能帮你得到想要的输出:

0
1
1
0
0

你可以根据自己的实际需求选择,比如只是临时转换的话,前两种方法足够简单;要是有后续分类操作,第三种会更灵活。

内容的提问来源于stack exchange,提问作者Justin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:47:11