Eliminar caracteres especiales en el marco de datos de pandas

Parece una tarea inherentemente simple, pero me resulta muy difícil eliminar el ''de todo mi marco de datos y devolver los valores numéricos en cada columna, incluidos los números que no tenían''. El marco de fecha incluye cientos de columnas más y se ve así en pocas palabras:

Time            A1      A2
2.0002546296    1499    1592
2.0006712963    1252    1459
2.0902546296    1731    2223
2.0906828704    1691    1904
2.1742245370    2364    3121
2.1764699074    2096    1942
2.7654050926    *7639*  *8196*
2.7658564815    *7088*  *7542*
2.9048958333    *8736*  *8459*
2.9053125000    *7778*  *7704*
2.9807175926    *6612*  *6593*
3.0585763889    *8520*  *9122*

Todavía no lo he escrito para iterar sobre cada columna en df, pero en lo que respecta a la primera columna, se me ocurrió esto

df['A1'].str.replace('*','').astype(float)

cuyos rendimientos

0        NaN
1        NaN
2        NaN
3        NaN
4        NaN
5        NaN
6        NaN
7        NaN
8        NaN
9        NaN
10       NaN
11       NaN
12       NaN
13       NaN
14       NaN
15       NaN
16       NaN
17       NaN
18       NaN
19    7639.0
20    7088.0
21    8736.0
22    7778.0
23    6612.0
24    8520.0

¿Hay una manera muy fácil de eliminar el '*' en el marco de datos en pandas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta