当存在空字符串时,如何向量化两列中的字符串连接?这是问题所在:
我在DF中的列:
col1 = pd.Series(['text1','','text3'])
col2 = pd.Series(['text1','text2','text3'])
当我这样做时:
new_col = col1.str.cat(col2, sep='/')
它给出:
new_col = pd.Series(['text1/text1','','text3/text3'])
但是它应该给出:
new_col = pd.Series(['text1/text1','/text2','text3/text3'])
我该怎么做? 熊猫0.24.2版
答案 0 :(得分:1)
如果缺少值,则在Series.str.cat
中必须输入空字符串na_rep
:
col1 = pd.Series(['text1',np.nan,'text3'])
col2 = pd.Series(['text1','text2','text3'])
因为如果为空字符串,则效果很好:
col1 = pd.Series(['text1','','text3'])
col2 = pd.Series(['text1','text2','text3'])
new_col = col1.str.cat(col2, sep='/')
print (new_col)
0 text1/text1
1 /text2
2 text3/text3
dtype: object
也可以使用替代方法:
new_col = col1 + '/' + col2
print (new_col)
0 text1/text1
1 /text2
2 text3/text3
dtype: object