#python #pandas
#python #pandas
Вопрос:
У меня есть CSV, который я прочитал в pandas в следующем формате
import pandas as pd
data = [['A', "[('a', 1), ('b', 2)]"], ['C', "[('c', 3), ('d', 4)]"]]
mydf = pd.DataFrame(data, columns = ['name', 'tupledat'])
как я могу извлечь значения из второго столбца в виде списка кортежей? Я думаю, что это могло быть сгенерировано как мультииндекс? Я не очень знаком с этой концепцией. Можно ли это указать при чтении из csv с помощью pandas? Я изо всех сил пытался добиться этого путем разделения строк. Я думаю, что для этого общего сценария должно быть готовое решение.
пример желаемого результата: [('a', 1), ('b', 2)]
Ответ №1:
Проверьте с помощью ast
import ast
df.tupledat=df.tupledat.apply(ast.literal_eval)
df
Out[59]:
name tupledat
0 A [(a, 1), (b, 2)]
1 C [(c, 3), (d, 4)]