Pandas在一列上连接数据帧和序列

2024-09-25 18:27:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个熊猫数据帧df,它存储标签和整数之间的匹配,还有一个熊猫系列s,它包含一系列标签:

print(df)

          label    id
0     AAAAAAAAA     0
1     BBBBBBBBB     1
2     CCCCCCCCC     2
3     DDDDDDDDD     3
4     EEEEEEEEE     4


print(s)

0        AAAAAAAAA
1        BBBBBBBBB
2        CCCCCCCCC
3        CCCCCCCCC
4        EEEEEEEEE
5        EEEEEEEEE
6        DDDDDDDDD

我想加入这个数据帧和这个序列,得到与我的序列s对应的整数序列。 下面是我的示例的预期结果:

print(df.join(s)["id"])

0        0
1        1
2        2
3        2
4        4
5        4
6        3

Tags: 数据id示例df序列整数标签label
1条回答
网友
1楼 · 发布于 2024-09-25 18:27:46

^{}Series一起使用:

print (s.map(df.set_index('label')['id']))
0    0
1    1
2    2
3    2
4    4
5    4
6    3
Name: a, dtype: int64

备选方案-如果复制没有错误但返回最后一行,请小心:

print (s.map(dict(zip(df['label'], df['id']))))

相关问题 更多 >