You need to examine the bytes that the Arduino receives when Python sends a float so you can check if Python has encoded the float in the same way that an Arduino does.
Sending integers is probably easier and to preserve decimals the value could be multiplied by 100 or 1000.
And if the extra performance from sending binary data is not actually needed things will be much easier to debug if you send the data as human readable text.
...R
Serial Input Basics - simple reliable ways to receive data.