def __init__(
        self,
        *,  # Forces keyword args.
        params: resolver.ParamResolver | None = None,
        measurements: Mapping[str, np.ndarray] | None = None,
        records: Mapping[str, np.ndarray] | None = None,
    ) -> None:
        """Inits Result.

        Args:
            params: A ParamResolver of settings used for this result.
            measurements: A dictionary from measurement gate key to measurement
                results. The value for each key is a 2-D array of booleans,
                with the first index running over the repetitions, and the
                second index running over the qubits for the corresponding
                measurements.
            records: A dictionary from measurement gate key to measurement
                results. The value for each key is a 3D array of booleans,
                with the first index running over the repetitions, the second
                index running over "instances" of that key in the circuit, and
                the last index running over the qubits for the corresponding
                measurements.
        """
        if params is None:
            params = resolver.ParamResolver({})
        if measurements is None and records is None:
            # For backwards compatibility, allow constructing with None.
            measurements = {}
            records = {}
        self._params = params
        self._measurements = measurements
        self._records = records
        self._data: pd.DataFrame | None = None
Inits Result.

        Args:
            params: A ParamResolver of settings used for this result.
            measurements: A dictionary from measurement gate key to measurement
                results. The value for each key is a 2-D array of booleans,
                with the first index running over the repetitions, and the
                second index running over the qubits for the corresponding
                measurements.
            records: A dictionary from measurement gate key to measurement
                results. The value for each key is a 3D array of booleans,
                with the first index running over the repetitions, the second
                index running over "instances" of that key in the circuit, and
                the last index running over the qubits for the corresponding
                measurements.
        
cirq-core/cirq/study/result.py