def __init__(self, x_basis_data: pd.DataFrame, y_basis_data: pd.DataFrame):
        """Inits T2DecayResult.

        Args:
            x_basis_data: Data frame in x basis with three columns: delay_ns,
                false_count, and true_count.
            y_basis_data: Data frame in y basis with three columns: delay_ns,
                false_count,  and true_count.

        Raises:
            ValueError: If the supplied data does not have the proper columns.
        """
        x_cols = list(x_basis_data.columns)
        y_cols = list(y_basis_data.columns)
        if any(col not in x_cols for col in _T2_COLUMNS):
            raise ValueError(
                f'x_basis_data must have columns {_T2_COLUMNS} '
                f'but had {list(x_basis_data.columns)}'
            )
        if any(col not in y_cols for col in _T2_COLUMNS):
            raise ValueError(
                f'y_basis_data must have columns {_T2_COLUMNS} '
                f'but had {list(y_basis_data.columns)}'
            )
        self._x_basis_data = x_basis_data
        self._y_basis_data = y_basis_data
        self._expectation_pauli_x = self._expectation(x_basis_data)
        self._expectation_pauli_y = self._expectation(y_basis_data)
Inits T2DecayResult.

        Args:
            x_basis_data: Data frame in x basis with three columns: delay_ns,
                false_count, and true_count.
            y_basis_data: Data frame in y basis with three columns: delay_ns,
                false_count,  and true_count.

        Raises:
            ValueError: If the supplied data does not have the proper columns.
        
cirq-core/cirq/experiments/t2_decay_experiment.py