我有一个示例数据框,如:
cid pos
0 11 29
1 22 29
2 22 29
3 33 29
4 44 29
现在是一个元组列表,如:[(11, 3), (22, 1), (33, 4), (44, 4), (55, 7), (66, 2)]
我想从元组(第二个元素)列表中创建另一列。仅当 df 列中的第一个元素匹配时 cid
:喜欢:
cid pos new_pos
0 11 29 3
1 22 29 1
2 22 29 1
3 33 29 4
4 44 29 4
Pandas 初学者,任何帮助都会很棒!谢谢你
最佳答案
您可以将元组列表转换为字典并使用 map
对此:
b = [(11, 3), (22, 1), (33, 4), (44, 4), (55, 7), (66, 2)]
df["b"] = df["cid"].map(dict(b))
print(df)
cid pos b
0 11 29 3
1 22 29 1
2 22 29 1
3 33 29 4
4 44 29 4
关于python - Pandas :从匹配第一个元素的元组列表中创建列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64357348/