如何将带有字符串的列替换为带有整数的列?

问题描述

我正在尝试预测一个数据集,其中有一列包含不同的字符串。例如,有 3 个品牌,“A”、“B”和“C”,我想用数字(例如 0、1 和 2)替换它们。

如果只有 2 个品牌,我知道该怎么做,使用 pd.eq

我曾尝试使用 set,但我想知道是否有更简单的方法可以做到这一点,因为我必须将其替换为具有 5 个以上不同字符串的列,并且会很烦人。

解决方法

您可以通过选择与这些条件匹配的记录来替换它们,假设您的数据位于 df 并且感兴趣的列是 'Brand'

replacement = { 'A': 0,'B': 1,'C': 2 }
for key,value in replacement.items():
    df.loc[df['Brand'] == key,'Brand'] = value
,
df['Brand'].map({'A': 0,'B':1,'C': 2})