En pandas, ¿cómo leer archivos csv con listas en una columna?

Tengo un archivo csv en el que algunas columnas tienen este aspecto:

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   []              []              []

Lo que pasa es que cuando lo leo, conpandas.read_csv, Python considera esas columnas como cadenas. ¿Hay alguna manera de pasar como opción que es una lista de números dentro de esas columnas? (talvez algodtype = something)

PD: puedo hacer una lista de comprensión conast.literal_eval después, pero lleva un tiempo, así que prefiero tenerlo tan pronto como lea el csv.

PS2: el archivo csv original tiene 600 000 líneas de largo (es por eso que lleva algún tiempoliteral_eval. Sus columnas contienen:

'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

Respuestas a la pregunta(1)

Su respuesta a la pregunta