У меня есть n-by-m Pandas DataFrame df
, определяемый следующим образом. (Я знаю, что это не лучший способ сделать это. Это имеет смысл для того, что я пытаюсь сделать в своем фактическом коде, но это будет TMI для этого сообщения, поэтому просто смените мое слово, что этот подход работает в моем конкретном сценарии.)
>>> df = DataFrame(columns=['col1'])
>>> df.append(Series([None]), ignore_index=True)
>>> df
Empty DataFrame
Columns: [col1]
Index: []
Я сохранил списки в ячейках этого DataFrame следующим образом.
>>> df['column1'][0] = [1.23, 2.34]
>>> df
col1
0 [1, 2]
По какой-то причине DataFrame сохранил этот список как строку, а не список.
>>> df['column1'][0]
'[1.23, 2.34]'
У меня есть 2 вопроса для вас.
- Почему DataFrame хранит список в виде строки и существует ли способ этого поведения?
- Если нет, то есть ли Pythonic способ преобразования этой строки в список?
Обновление
Используемый мной DataFrame был сохранен и загружен из формата CSV. Этот формат, а не сам DataFrame, преобразовал список из строки в литерал.