Issues with the MPL3115A2 sensor

Why does the amplitude vary so much?

I am using this library Adafruit_MPL3115A2.h with the spark fun MPL3115A2 sensor
(SparkFun Altitude/Pressure Sensor Breakout - MPL3115A2 - SEN-11084 - SparkFun Electronics)
(Adafruit_MPL3115A2_Library/Adafruit_MPL3115A2.h at master · adafruit/Adafruit_MPL3115A2_Library · GitHub)

Below are some reading made by this sensor (pressure, amplitude, temperature) made every second:
1019.47, 25480.94, 22.75
1019.79, 128.31, 22.19
1022.23, 127.44, 22.06
1020.23, 116.69, 22.69
1019.90, 136.37, 22.25
1018.74, 25520.00, 21.87
1022.50, 25543.38, 22.31
1022.24, 25563.13, 22.25
1020.55, 114.37, 22.62
1021.73, 137.56, 22.87
1020.71, 115.25, 22.37
1019.54, 25489.00, 21.94
1020.33, 123.25, 22.44
1018.53, 133.75, 22.31

This sketch looks the closest to the above (need to remove some comment tags).

Here are my connections and I am using an Arduino Nano 33 IoT:

The code I am using can be found below:

/**************************************************************************/
/*!
    @file     Adafruit_MPL3115A2.cpp
    @author   K.Townsend (Adafruit Industries)
    @license  BSD (see license.txt)

    Example for the MPL3115A2 barometric pressure sensor

    This is a library for the Adafruit MPL3115A2 breakout
    ----> https://www.adafruit.com/products/1893

    Adafruit invests time and resources providing this open source code,
    please support Adafruit and open-source hardware by purchasing
    products from Adafruit!

    @section  HISTORY

    v1.0 - First release
*/
/**************************************************************************/

#include <Adafruit_MPL3115A2.h>

Adafruit_MPL3115A2 baro;

void setup() {
  Serial.begin(9600);
  while(!Serial);
  Serial.println("Adafruit_MPL3115A2 test!");

  if (!baro.begin()) {
    Serial.println("Could not find sensor. Check wiring.");
    while(1);
  }

  // use to set sea level pressure for current location
  // this is needed for accurate altitude measurement
  // STD SLP = 1013.26 hPa
  baro.setSeaPressure(1013.26);
}

void loop() {
  float pressure = baro.getPressure();
  float altitude = baro.getAltitude();
  float temperature = baro.getTemperature();

  Serial.println("-----------------");
  Serial.print("pressure = "); Serial.print(pressure); Serial.println(" hPa");
  Serial.print("altitude = "); Serial.print(altitude); Serial.println(" m");
  Serial.print("temperature = "); Serial.print(temperature); Serial.println(" C");

  delay(250);
}

I have updated my question, if you are interested...

I am not sure on this module, but some modules (DHT, for example) need a two-seconds gap between readings. Your delay is 1/4 of one second. As an experiment, increase the gap to two seconds ( delay (2000); ).