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+'_'+n 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的一天呀~~ |