我有以下DF(带有硬编码的预期结果)
dfo = pd.DataFrame({"list1": [["test1", "test2"], ["test1", "test2", "test3"], ["test1", "test2"]],
"list2": [["notatest", "test3"], ["notatest"], ["notatest", "Test3"]],
"desired": [["test1", "test2", "test3"], ["test1", "test2", "test3"], ["test1", "test2", "Test3"]]})
在其中,我想将list2
(list2[-1]
)的最后一个元素添加/附加到list1
,如果它==“test3”
尝试了以下操作但无效:
dfo["list1_test3_added"] = dfo["list1"].apply(lambda x: x.append([i for i in x["list2"][-1] if i == "test3"]))
也可能有人在某个时候失去了理智,不是“test3”而是“test3”,所以可能需要一个正则表达式匹配
测试最后一个转换为小写的值,如果匹配,则添加到一个元素
list
,最后一个添加到原始列list1
:相关问题 更多 >
编程相关推荐