python - 如何将列中的值更改为二进制?

标签 python python-3.x pandas

<分区>

python 的新手,我被困在了这里。我的 CSV 文件包含以下内容:

Sr,Gender
1,Male
2,Male
3,Female

现在我想将 Gender 值转换成二进制,这样文件看起来像这样:

Sr,Gender
1,1
2,1
3,0

因此,我将 CSV 文件导入为 data 并运行此代码:

data["Gender_new"]=1
data["Gender_new"][data["Gender"]=="Male"]=0
data["Gender_new"]=1=data["Gender_new"].astype(float)

但我收到错误 ValueError: could not convert string 'Male' to float:

我哪里做错了,我该如何解决?

谢谢

最佳答案

试试这个:

import pandas as pd

file = open("your.csv", "r")

data = pd.read_csv(file, sep = ",")

gender = {'male': 1,'female': 0}

data.Gender = [gender[item] for item in data.Gender]
print(data)

或者

data.Gender[data.Gender == 'male'] = 1
data.Gender[data.Gender == 'female'] = 0
print(data)

关于python - 如何将列中的值更改为二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51016230/

相关文章:

python - 根据值从 pandas 数据框中的每个单元格中减去

python - 如何在 python 中创建交互式绘图,根据我单击的位置生成新绘图?

Python- Pandas 按列值的升序减去列值

python - 获取一列对象的最后一个字符并将其作为数据框上的列 - pandas python

python-3.x - 如何从字典列表中获取值 - Python 3.7.1

python - 如何使父类(super class)独有的类属性

python - 如何通过标点符号拆分pandas中的字符串

Python:如何使用相对导入来导入包根目录

python - 如何在正则表达式python中获取重叠字符串

python - 我怎样才能做这样一个典型的单元测试?