Python将分类值转换为同一列中的二进制文件的方法



Gurus,我们正在寻找一种pythonic方法(python 2.7)将列中的分类值转换为二进制值到单个新列中。示例:在"Loan_status"列中,

 Loan_Status
 Charged Off
 Default
 Fully Paid
 Current
 Does not meet the credit policy. Status:1
 Does not meet the credit policy. Status:0

我们尝试将"冲销"、"默认"设置为"0"、"全额支付"、"当前"设置为"1",并删除任何包含"不符合信用策略"的行。状态:1"和"不符合信用政策。状态:0"。

期望输出:

 Loan_Status
 0
 0
 1
 1

有什么pythonic方法可以做到这一点吗? 熊猫get_dummies会生成多个列,所以它似乎不起作用。 谢谢!

让我们定义一个正类标签和负类标签的列表。

positive = ['Fully Paid', 'Current']
negative = ['Charged Off', 'Default']

首先,在数据框中筛选对模型无效的行。我们可以使用 isin 来过滤其中任何一个的值

filtered_df = df[df['Loan_Status'].isin(positive + negative)].copy()

其次,为正标签创建新列。如果需要01我们可以将布尔结果转换为类型 int

filtered_df['Loan_Status'] = filtered_df['Loan_Status'].isin(positive).astype(int)

相关内容

  • 没有找到相关文章

最新更新