Как говорили другие, сделайте это с созданием кадра данных с нуля.
Одной из проблем является форма ваших исходных массивов, посмотрите, что произойдет, если вы сделаете pd.Series(array1)
на своих исходных данных.
Вот кое-что, что вы могли бы использовать для создания функции для повторного использования ...
a = np.arange(5).reshape((1,5))
pd.DataFrame({k: a.flatten() for k, a in zip('abc', (a, a, a))})