假设我有一个像这样的数据框:

Name | Level
Jack    1
John    2
Mike    1
Mark    2


经过一些处理后,我得到了一个带有Names对的元组的随机列表:

[('Jack','Mark'),('Jack','John'),('Mark','Mike')]

是否可以返回元组中每个元素的Level

[('Jack','Mark',1,2),('Jack','John',1,2),('Mark','Mike',2,1)]

还是取元组内部元素之间的区别?:

[('Jack','Mark',-1),('Jack','John',-1),('Mark','Mike',1)]

我可能已将自己挖入一个洞,并且正在寻找机会。

最佳答案

pd.Series.get

d = df.set_index('Name').Level


dict.get也可以:

a = [('Jack','Mark'),('Jack','John'),('Mark','Mike')]

[t + tuple(map(d.get, t)) for t in a]

[('Jack', 'Mark', 1, 2), ('Jack', 'John', 1, 2), ('Mark', 'Mike', 2, 1)]




[t + (d[t[0]] - d[t[1]],) for t in a]

[('Jack', 'Mark', -1), ('Jack', 'John', -1), ('Mark', 'Mike', 1)]

关于python - Python-将值从数据框追加到相应的元组元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56547946/

10-13 07:04