小编Gab*_* F.的帖子

使用一致的映射分解数据框列中的值

如何使用factorize跨两列存在的值的熊猫?

具体来说,我试图将存在于两列中的值转换为数值,并将相应的分解值放入新列中,以便分解与两个输入列“A”和“B”一致。

现有数据帧:

     A   B
0    a   b
1    c   a
2    d   a
3    e   c
4    c   b
5    b   e
6    e   f
Run Code Online (Sandbox Code Playgroud)

期望输出:

     A   B   A_ID  B_ID 
0    a   b     0     4
1    c   a     1     0
2    d   a     2     0
3    e   c     3     1
4    c   b     1     4
5    b   e     4     3
6    e   f     3     5
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法factorize成功地用于一列:

df['A_ID'] = pd.factorize(df.A)[0]
Run Code Online (Sandbox Code Playgroud)

我怎样才能通过跨两列的值的一致映射来实现这一点?我是否需要求助于使用自定义lambda函数,或者有没有办法用它来完成factorize

python categories dataframe pandas

5
推荐指数
1
解决办法
1634
查看次数

标签 统计

categories ×1

dataframe ×1

pandas ×1

python ×1