熊猫数据框中的两个字符串列表之间的一对一映射

马丁·休森

假设我有一个pandas数据框,其中2列由字符串列表组成,如下所示

df=pd.DataFrame( {'A' : [ ['a','b','c'], ['d','e','f'] ], 'B':[ ['g','h','i'], ['j','k','l'] ] })

我想用连字号将A中第一个列表中的第一个字符串元素与B中第一个列表中的第一个字符串元素连接起来。最终产品将是另一列C,因此

df['C'] = [ ['a-g','b-h','c-i'], ['d-j','e-k','f-l' ] ]

我尝试了apply()和map()的不同功能,但没有任何东西产生期望的结果,感谢您的帮助。

cs95

我会用apply+来做到这一点np.core.defchararray.add

from numpy.core.defchararray import add

df['C'] = df[['A', 'B']].apply(lambda x: add(add(x.A, '-'), x.B).tolist(), 1)
df

           A          B                C
0  [a, b, c]  [g, h, i]  [a-g, b-h, c-i]
1  [d, e, f]  [j, k, l]  [d-j, e-k, f-l]

只要记住我说过的关于在列表中存储数据的内容即可。


如果您的列大小可能不相等,则可以进行if检查:

def foo(x):
    if len(x.A) == len(x.B):
        return add(add(x.A, '-'), x.B).tolist()
    return []

df['C'] = df[['A', 'B']].apply(foo, 1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

合并两个字符串列,将缺失值交替为一

在Python中查找两个字符串列表的交集

将DIV中的两个字符串之一对齐以居中

在Python 3.4.3中一次将两个字符串列表组合在一起

在熊猫数据框中对两个字符串进行模糊匹配的最快方法

如何在Haskell中删除两个字符串列表之间的公共元素?

删除一行中两个字符串之间的字符串

熊猫分别对两个字符串列中的每一个应用upper()作品,但不能一起使用

压缩两个字符串列表,用作字典中的键

比较两个字符串列表

查找R中两个字符串列之间的匹配项

返回两个字符串列之间的字符串相似性得分-熊猫

在Lisp中映射两个字符串列表(以简短方式)?

两个列表和表单数据框的一对一映射

Snowflake中两个字符串列之间的区别

返回数据帧列表中两个字符串之间的值[R]

比较熊猫数据框中的两个字符串并显示差异

在同一数据框中的两个字符串列之间创建具有模糊分数的新列

Terraform For表达式使用一个元组和两个字符串列表创建要在for_each中使用的单个映射

如何在pyspark数据框中减去两个字符串列?

如何从两个字符串列表中删除公用值

如何在Spark Python的一列中连接两个字符串列

合并两个字符串列表

试图为两个字符串列表获取一个随机数

Haskell - 比较两个字符串列表并返回一个单词出现的次数?

如何计算两个字符串列表之间的jaccard相似度距离

计算来自两个不同数据帧的两个字符串列之间的编辑距离

有没有办法在数据框中的两个字符串列之间执行编辑距离?

在 Python 中连接两个字符串列表