Python 如何使用pandas更改colunm项的值?
这是我关于stackoverflow的第一个问题 我正在实现一个机器学习分类算法,我想将它推广到任何目标类在最后一列中的输入数据集。为此,我希望使用python中的pandas修改该列的所有值,而不需要知道每一列或每一行的名称 例如,假设我加载了一个数据集:Python 如何使用pandas更改colunm项的值?,python,pandas,dataframe,Python,Pandas,Dataframe,这是我关于stackoverflow的第一个问题 我正在实现一个机器学习分类算法,我想将它推广到任何目标类在最后一列中的输入数据集。为此,我希望使用python中的pandas修改该列的所有值,而不需要知道每一列或每一行的名称 例如,假设我加载了一个数据集: dataset = pd.read_csv('random_dataset.csv') 假设最后一列包含以下数据: 0 dog 1 dog 2 cat 3 dog 4 cat 我想将每个“dog”外观更改为1,将每个
dataset = pd.read_csv('random_dataset.csv')
假设最后一列包含以下数据:
0 dog
1 dog
2 cat
3 dog
4 cat
我想将每个“dog”外观更改为1,将每个cat外观更改为0,以便该列看起来:
0 1
1 1
2 0
3 1
4 0
我发现了一些使用熊猫改变特定细胞值的方法,但是对于这种情况,什么是最好的方法呢
我非常感谢您的回答。根据要求使用并映射值:
df['col_name'] = df['col_name'].map({'dog' : 1 , 'cat': 0})
或者->使用(将对象编码为枚举类型)->如果要分配随机数值
df['col_name'] = df['col_name'].factorize()[0]
输出:
根据要求使用并映射值:
df['col_name'] = df['col_name'].map({'dog' : 1 , 'cat': 0})
或者->使用(将对象编码为枚举类型)->如果要分配随机数值
df['col_name'] = df['col_name'].factorize()[0]
输出:
您可以使用:
df['column']=pd.Categorical(df['column'])代码
您也可以为此使用内置功能:
df['column']=df['column'].astype('category').cat.code
您可以使用:
df['column']=pd.Categorical(df['column'])代码
您也可以为此使用内置功能:
df['column']=df['column'].astype('category').cat.code
谢谢!为了实现我想要的(在不知道列名的情况下获得结果),我必须添加一些额外的代码,但是使用map是一个很好的技巧。谢谢!为了实现我想要的(在不知道列名的情况下获得结果),我必须添加一些额外的代码,但是使用map是一个很好的技巧。这很简单!问题是结果不是二进制的,但是通过一些额外的代码,我们可以解决它。这很简单!问题是结果不是二进制的,但是通过一些额外的代码,我们可以解决它。