问题
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'],'')