В пандах, как читать CSV-файлы со списками в столбце?
У меня есть CSV-файл, в котором некоторые столбцы, которые выглядят так:
df = pd.DataFrame({'a':[['ID1','ID2','ID3'],['ID1','ID4'],[]],'b':[[8.6,1.3,2.5],[7.5,1.2],[]],'c':[[12,23,79],[42,10],[]]})
Out[1]: a b c
0 [ID1, ID2, ID3] [8.6, 1.3, 2.5] [12, 23, 79]
1 [ID1, ID4] [7.5, 1.2] [42, 10]
2 [] [] []
Дело в том, что когда я читаю это, сpandas.read_csv
Python рассматривает эти столбцы как строки. Есть ли способ передать как вариант, что это список чисел в этих столбцах? (может быть, некоторыеdtype = something
)
PS: я могу сделать понимание списка сast.literal_eval
потом, но это займет некоторое время, так что я бы предпочел, чтобы, как только я прочитал CSV.
PS2: исходный CSV-файл имеет длину 600 000 строк (поэтому требуется некоторое время дляliteral_eval
, Его столбцы содержат:
'ID of the project' 'postcode' 'city' 'len of the lists in the last 3 columns' 'ids of other projects' 'distance from initial project' 'jetlag from initial project'
object int string int list of strings list of floats list of ints