python - 不同数据框列中的 zip 列表元素
问题描述
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))
但这在某种程度上是错误的
解决方案
这里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)]
推荐阅读
- android - 广告系列广告(自家广告)
- php - 在 WooCommerce 中分离注册和登录页面
- reactjs - 设置环境Webpack已初始化时的React js问题
- spring - grails spring安全核心插件不起作用
- data-vault - Datavault:如何获取外键关系的哈希(填充链接表)
- c# - 在 UWP 中为资源字典构建操作
- java - 随机搜索到 lambda 表达式
- javascript - 在 ChartJS 中发布数据时的 JSON 循环对象值
- conditional-statements - 条件/查询的 Trie/决策树
- c++ - 如何避免为模板化迭代器的每个可能实例化专门化 iterator_traits?