Поведение вышеупомянутого назначения является непоследовательным
ПРИМЕЧАНИЕ. Это не полностью отвечает на вопрос пользователя, но дает больше контекста
- Если я назначаю одномерный список в обеих строках, тогда онхранит его 1-й как одну строку, а второй как список в ячейке
df_temp = pd.DataFrame([[1, 2], [3, 4]], columns=['column1', 'column2'])
df_temp.at[0, 'column3'] = ['element1']
df_temp.at[1, 'column3'] = ['element1']
column1 column2 column3
0 1 2 element1
1 3 4 [element1]
# column1 column2 column3
# 0 1 2 element1
# 1 3 4 [element1]
Если я назначу 1-й элемент в качестве 2D-списка, а затем назначу вторую строку с 1-мерным списком, он сохранит оба в виде 1D-списка в ячейке
df_temp = pd.DataFrame([[1, 2], [3, 4]], columns=['column1', 'column2'])
df_temp.at[0, 'column3'] = [['element1']]
df_temp.at[1, 'column3'] = ['element1']
# column1 column2 column3
# 0 1 2 [element1]
# 1 3 4 [element1]
ЕСЛИ я назначаю 2D список для обеих строк, то он сохраняет 1-й как 1D-список, а второй как 2D-список
df_temp = pd.DataFrame([[1, 2], [3, 4]], columns=['column1', 'column2'])
df_temp.at[0, 'column3'] = [['element1']]
df_temp.at[1, 'column3'] = [['element2']]
# column1 column2 column3
# 0 1 2 [element1]
# 1 3 4 [[element2]]
Я думаю, что это как-то связано со столбцом dtype, но этосбивает с толку. Это ошибка или ожидаемое поведение