【问题标题】:How to replace a column with strings into a column with integers?如何将带有字符串的列替换为带有整数的列?
【发布时间】:2021-06-21 00:01:12
【问题描述】:
我正在尝试预测一个数据集,该数据集有一列包含不同的字符串。例如,有 3 个品牌,“A”、“B”和“C”,我想将它们替换为数字(例如 0、1 和 2)。
如果只有 2 个品牌,我知道该怎么做,使用 pd.eq,
我曾尝试使用set,但我想知道是否有更简单的方法可以做到这一点,因为我必须用具有超过 5 个不同字符串的列替换它,它会是很烦人。
【问题讨论】:
标签:
python
pandas
dataset
data-preprocessing
【解决方案1】:
您可以通过选择与这些条件匹配的记录来替换它们,假设您的数据位于 df 并且感兴趣的列是 'Brand':
replacement = { 'A': 0, 'B': 1, 'C': 2 }
for key, value in replacement.items():
df.loc[df['Brand'] == key, 'Brand'] = value
【解决方案2】:
df['Brand'].map({'A': 0, 'B':1,'C': 2})