I need to import a csv file that has 300+ columns, among these columns, only the first column needs to specified as a category, while the rest of the columns should be float 32 or less. I am guessing that I could specify columns' data types via column indexes. My question is: What is an optimal way to specify data types based on column indexes? 

```
Col_A   Col_B   Col_C   Col_D
001       1       2      1.2
002       2       3      3.5
003       3       4.5      7
004       4       6.5     10

```

The code I tried is: 

```
df = pd.read_csv(path, low_memory=False,  
             dtype={'Col_A': 'category', [2:]: np.float32)}

```