Fix types of the columns of dataframe returned

Converted types, otherwise every column's values are of "object" dtype, i.e. strings, which you can't do arithmetic with. It's because of some pandas quirk I haven't worked out, there may be a more proper way at the encoding stage to ensure the type is float64, bool, etc. rather than object.