【发布时间】:2019-11-04 13:18:04
【问题描述】:
我的数据框有几列带有字符串值,我想将它们重新编码为整数。 有超过 20 列,每列都有其唯一的键值对(并且并非所有都必须重新编码),所以我正在寻找一种方法来避免写 20 + case_when's,每个案例有 3-6 个案例(这是我迄今为止阅读的 3+ 个答案所建议的)。
我在不同的表中有字符串-整数对,我想知道是否有一种方法可以遍历数据列和键值对的行,以重新编码字符串,如下所示:
数据:
C1 C2 C3
A D X
B E Y
C F Z
键值对:
Column_name String Int
C2 D 5
C2 E 10
C2 F 0
C3 X 1
C3 Y 2
C3 Z 7
输出:
C1 C2 C3
A 5 1
B 10 2
C 0 7
换句话说,对于每个数据列 C#,代码将只查看 C# 的键值行,并将字符串替换为其值。
我愿意接受 R 或 Python 解决方案。
【问题讨论】: