use*_*654 7 python zip tuples list pandas
a=[['1','2'],['3','4']]
b=[['5','6'],['7','8']]
df14=pd.DataFrame({'key':a,'hi':b})
Run Code Online (Sandbox Code Playgroud)
我想添加一个带有元组的第三列,其中来自“key”的每个列表元素都与它在“hi”中的列表索引相匹配 -> 例如它看起来像这样。
key hi tup
0 [1, 2] [5, 6] [(1,5),(2,6)]
1 [3, 4] [7, 8] [(3,7),(4,8)]
Run Code Online (Sandbox Code Playgroud)
我知道我必须使用该zip函数,但我无法正确理解您的语法。我认为它应该是这样的
for index,row in df14.iterrows():
df14['tup']=df14.key.apply(lambda x: zip(x,df14.hi))
Run Code Online (Sandbox Code Playgroud)
但这在某种程度上是错误的
这里iterrows没有必要,第二行是修改为每行应用 lambda 函数,axis=1并更改d14.hi为x.hi每行列的返回值hi:
df14['tup'] = df14.apply(lambda x: list(zip(x.key,x.hi)), axis=1)
print (df14)
key hi tup
0 [1, 2] [5, 6] [(1, 5), (2, 6)]
1 [3, 4] [7, 8] [(3, 7), (4, 8)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1245 次 |
| 最近记录: |