Сначала необходимо гомогенизировать ширину:
a = np.loadtxt('old.dat', dtype='object', ndmin=2)
b = np.loadtxt('new.dat', dtype='object', ndmin=2)
a_width = a.shape[1]
b_width = b.shape[1]
if a_width < b_width:
a = np.append(a, np.zeros((len(a), b_width - a_width), 'S0'), axis=1) # 'U0' in Python 3
if b_width < a_width:
b = np.append(b, np.zeros((len(b), a_width - b_width), 'S0'), axis=1)
Тогда это будет работать.
Обратите внимание, что я добавил ndmin=2
при загрузке файлов, потому что в противном случае файл из одной строкисоздает 1D массив вместо 2D.