美文网首页消灭虫子
python对应拼接两个或多个字符串数组

python对应拼接两个或多个字符串数组

作者: 纷纷不可诉 | 来源:发表于2022-09-26 10:35 被阅读0次

    1.目标

    输入a和b,返回c(对应组合的结果)

    a=['a', 'b', 'c']
    b=['1', '2', '3']
    c=['a_1','b_2','c_3']
    

    2.解决

    python对于许多这种看上去很简单的事情,其实反而没有直接的基础函数,不像R自带的paste()/paste0()就可以搞定,当然这主要是由于他们对于数组/向量的运算机制不同。

    1.for循环

    lable=[]
    for i in range(len(m)):
        id=m[i]+'_'+n[i]
        lable.append(id)
    

    不过也可以简化这个代码, 通过zip()可以实现

    lable=['_'.join(x) for x in list(zip(m,n))] # 一句代码实现上面的循环 zip是对应组合数组用的 join是数组和元组组合用的
    

    2.pandas/numpy里面的实现
    如果本身这两列是dataframe里面的,那么在 Pandas 里 DataFrame 中实现合并两列文本的方式就多了,也更简单
    常见的两个字符串组合的方式全部可以用:
    + 运算符方法;df.map() 方法;df.apply() 方法;Series.str.cat() 方法];df.agg() 方法等。
    举一个简单的例子:

    arr=[['a', 'b', 'c'],['1', '2', '3']]
    pd=pandas.DataFrame(data,columns=['a','b'])
    pd['c']=pd['a']+'_'+pd['c']
    

    其他pd中的方法可以参见:
    https://www.delftstack.com/zh/howto/python-pandas/how-to-combine-two-columns-of-text-in-dataframe-in-pandas/

    今天又是学习python的一天呀~~

    相关文章

      网友评论

        本文标题:python对应拼接两个或多个字符串数组

        本文链接:https://www.haomeiwen.com/subject/jkitartx.html