Попробуйте сначала инициализировать df вне l oop. Затем df может быть изменен с каждой итерацией с помощью pd.concat.
Итак, вне for l oop у вас будет что-то вроде:
df = DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
затем после переменной data2 присвоение:
df = pd.concat([df, DataFrame(data=data2.reshape(-1,len(data2)))])