pandas DataFrame 几列字符串合并为一列的方法

问题

DataFrame里有四列字符串,希望把它们合并为一列,新column形式为item1, item2, item3, item4
除了第一列一定有值以外,其余三列都可能是NA。遇到NA需要跳过,比如如果2、4是NA,结果应是item1, item3

解决

np.where()可以用来解决NA的问题,代码如下:

df = df.fillna('no_item')  #将NA换成str,方便查NA
df['new'] = df['item1'] + \
	np.where(df['item2']!='no_item', ', '+df['item2'],'')+ \
    np.where(df['item3']!='no_item', ', '+df['item3'],'')+ \
    np.where(df['item4']!='no_item', ', '+df['item4'],'')

你可能感兴趣的:(pandas,Python)