How to read LM35 temperature values on nodemcu when sent by arduino by I2C communication
You're not receiving the value as a float. In the Arduino code your reading directly from the ADC, getting an integer value and converting that to float based on the specs of your ADC. That float value is then being output as chars onto the serial connection. In your Node MCU code you have the variable data declared as a float when you are receiving chars. As you are reading from the arduino 1 byte/char at a time you also either need to buffer the incoming data or print char by char to the serial monitor like below:

void tempdata()
{
    Wire.requestFrom(8, 5); /* request &amp; read data of size 13 from slave */
    while(Wire.available())    // slave may send less than requested
    { 
       data = Wire.read(); // receive a byte as character
       Serial.print(data);
    } 

    Serial.println();
    delay(1000);
}