Why are all of my model's predictions are the same?

Interesting… It works if calculate my predictions one row at a time.

final_df = pd.DataFrame(columns=['PassengerId', 'Survived'])
i = 0
for datum in test:
    final_df.at[i, 'PassengerId'] = datum['PassengerId']
    final_df.at[i, 'Survived'] = learn.predict(datum)[0]
    i += 1

I found this thread about my exact problem which suggested that since the labels column for the test set was blank, it wouldn’t calculate the actual prediction. I’m not sure I understand this. Since the test set was part of the training databunch, shouldn’t it have generated a value for the label?