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

如何在Python DataFrame中将多列的t/f值转换为数值型?

将DataFrame中多列t/f值转换为数值的方法

假设你的DataFrame数据如下:

import pandas as pd
df = pd.DataFrame({
    'A': ['t', 't', 'f', 't'],
    'B': ['f', 't', 'f', 't']
})

以下是几种实用的转换方式:

方法1:批量替换

用replace()指定替换规则,可快速转换所有列或指定列:

# 转换所有列
df = df.replace({'t': 1, 'f': 0})

# 仅转换指定列(如A、B列)
df[['A', 'B']] = df[['A', 'B']].replace({'t': 1, 'f': 0})

方法2:逐列映射

通过map()结合转换字典实现,适合需要自定义单列规则的场景:

convert_rule = {'t': 1, 'f': 0}
df['A'] = df['A'].map(convert_rule)
df['B'] = df['B'].map(convert_rule)

方法3:布尔判断转整数

先判断值是否为t得到布尔结果,再转为整数(True对应1,False对应0),代码最简洁:

# 转换所有列
df = (df == 't').astype(int)

# 仅转换指定列
df[['A', 'B']] = (df[['A', 'B']] == 't').astype(int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:15:35