MCPcopy Create free account
hub / github.com/InternScience/SciReason / _check_data

Function _check_data

tests/dataset/test_ms_datasets.py:176–220  ·  view source on GitHub ↗
(ms_dataset: Dataset | DatasetDict,
                oc_dataset: Dataset | DatasetDict,
                sample_size)

Source from the content-addressed store, hash-verified

174
175
176def _check_data(ms_dataset: Dataset | DatasetDict,
177 oc_dataset: Dataset | DatasetDict,
178 sample_size):
179 assert type(ms_dataset) == type(
180 oc_dataset
181 ), f'Dataset type not match: {type(ms_dataset)} != {type(oc_dataset)}'
182
183 # match DatasetDict
184 if isinstance(oc_dataset, DatasetDict):
185 assert ms_dataset.keys() == oc_dataset.keys(
186 ), f'DatasetDict not match: {ms_dataset.keys()} != {oc_dataset.keys()}'
187
188 for key in ms_dataset.keys():
189 _check_data(ms_dataset[key], oc_dataset[key], sample_size=sample_size)
190
191 elif isinstance(oc_dataset, Dataset):
192 # match by cols
193 assert set(ms_dataset.column_names) == set(
194 oc_dataset.column_names
195 ), f'Column names do not match: {ms_dataset.column_names} != {oc_dataset.column_names}'
196
197 # Check that the number of rows is the same
198 assert len(ms_dataset) == len(
199 oc_dataset
200 ), f'Number of rows do not match: {len(ms_dataset)} != {len(oc_dataset)}'
201
202 # Randomly sample indices
203 sample_indices = random.sample(range(len(ms_dataset)),
204 min(sample_size, len(ms_dataset)))
205
206 for i, idx in enumerate(sample_indices):
207 for col in ms_dataset.column_names:
208 ms_value = clean_string(str(ms_dataset[col][idx]))
209 oc_value = clean_string(str(oc_dataset[col][idx]))
210 try:
211 assert ms_value == oc_value, f"Value mismatch in column '{col}', index {idx}: {ms_value} != {oc_value}"
212 except AssertionError as e:
213 print(f"Assertion failed for column '{col}', index {idx}")
214 print(f"ms_data: {ms_dataset[idx]}")
215 print(f'oc_data: {oc_dataset[idx]}')
216 print(f'ms_value: {ms_value} ({type(ms_value)})')
217 print(f'oc_value: {oc_value} ({type(oc_value)})')
218 raise e
219 else:
220 raise ValueError(f'Datasets type not supported {type(ms_dataset)}')
221
222
223if __name__ == '__main__':

Callers 1

compare_datasetsMethod · 0.70

Calls 1

clean_stringFunction · 0.70

Tested by

no test coverage detected