Вы перезаписываете значения, когда входите во второй цикл.То, что вы делаете:
import pandas
columns = ['a','b','c']
data = [1,2,3],[3,4],[4,5,5]
myDict = {}
for i in columns:
for j in data:
myDict[i]=j
print(pandas.DataFrame(myDict))
Вот почему ваши данные перезаписываются.Ясно, что вы хотите сделать:
myDict = {}
for i,key in enumerate(columns):
myDict[key] = data[i]
Однако это приведет к:
raise ValueError('arrays must all be same length')
ValueError: arrays must all be same length
Которое имеет хорошо описанное решение здесь