假设我有一个像这样的数据框:
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/