Cast a range object to ndarray.
(rng: range)
| 689 | |
| 690 | |
| 691 | def range_to_ndarray(rng: range) -> np.ndarray: |
| 692 | """ |
| 693 | Cast a range object to ndarray. |
| 694 | """ |
| 695 | # GH#30171 perf avoid realizing range as a list in np.array |
| 696 | try: |
| 697 | arr = np.arange(rng.start, rng.stop, rng.step, dtype="int64") |
| 698 | except OverflowError: |
| 699 | # GH#30173 handling for ranges that overflow int64 |
| 700 | if (rng.start >= 0 and rng.step > 0) or (rng.step < 0 <= rng.stop): |
| 701 | try: |
| 702 | arr = np.arange(rng.start, rng.stop, rng.step, dtype="uint64") |
| 703 | except OverflowError: |
| 704 | arr = construct_1d_object_array_from_listlike(list(rng)) |
| 705 | else: |
| 706 | arr = construct_1d_object_array_from_listlike(list(rng)) |
| 707 | return arr |
| 708 | |
| 709 | |
| 710 | def _sanitize_non_ordered(data) -> None: |
no test coverage detected