不同数据框列中的 zip 列表元素
Posted
技术标签:
【中文标题】不同数据框列中的 zip 列表元素【英文标题】:zip list elements in different dataframe columns 【发布时间】:2019-11-04 23:09:45 【问题描述】:a=[['1','2'],['3','4']]
b=[['5','6'],['7','8']]
df14=pd.DataFrame('key':a,'hi':b)
我想添加一个带有元组的第三列,其中'key'中的每个列表元素都与其在'hi'中的列表索引匹配 -> 例如它看起来像这样。
key hi tup
0 [1, 2] [5, 6] [(1,5),(2,6)]
1 [3, 4] [7, 8] [(3,7),(4,8)]
我知道我必须使用zip
函数,但我无法正确使用你的语法。
我觉得应该是这样的
for index,row in df14.iterrows():
df14['tup']=df14.key.apply(lambda x: zip(x,df14.hi))
但这是错误的
【问题讨论】:
【参考方案1】:这里iterrows
不是必需的,第二行由axis=1
修改为每行应用lambda 函数,并将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)]
【讨论】:
以上是关于不同数据框列中的 zip 列表元素的主要内容,如果未能解决你的问题,请参考以下文章