python - 根据其他列的唯一字符串创建一个带有数字的新列

标签 python pandas

我有一个 DataFrame,其中有一列包含单词。我想要代表这些值的数字,例如在另一列中。

在下一个示例中,我有“col_1”和“col_2”。然后我想得到'col_3'

'col_1' | 'col_2' | 'col_3'
---------------------------
  0     |  a      |  0
  1     |  a      |  0
  2     |  b      |  1
  3     |  c      |  2
  4     |  b      |  1

最佳答案

尝试因式分解

df['col_3'] = df.col_2.factorize()[0]

Out[1641]:
   col_1 col_2  col_3
0  0      a     0
1  1      a     0
2  2      b     1
3  3      c     2
4  4      b     1

关于python - 根据其他列的唯一字符串创建一个带有数字的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59144168/

相关文章:

python stdout to file 没有实时响应

python - Pandas 帮助: convert column from delimted string to column array

python - 使用 matplotlib 在 Pandas groupby 上绘制直方图

python - 使用 numpy 或 pandas 的时间序列

python - 如何保留至少一列满足 Pandas 条件的行

python - aiohttp 中是否有像 Flask 中那样的请求后方法

python - 模块未找到错误: Correct setup

Python 的 next() 函数

pandas - 如何对 pandas 列中的值进行重新采样?

python - 为什么这个 memoizer 在递归函数上工作?