Skip to content

Commit 875ff9b

Browse files
committed
add all arrays
1 parent 6b14567 commit 875ff9b

File tree

11 files changed

+138
-18
lines changed

11 files changed

+138
-18
lines changed

pandas-stubs/_libs/arrays.pyi

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,38 @@
1-
class NDArrayBacked: ...
1+
from collections.abc import Sequence
2+
from typing import Any
3+
4+
import numpy as np
5+
from typing_extensions import Self
6+
7+
from pandas._typing import (
8+
AnyArrayLikeInt,
9+
AxisInt,
10+
DtypeObj,
11+
Shape,
12+
)
13+
14+
class NDArrayBacked:
15+
_dtype: DtypeObj
16+
_ndarray: np.ndarray
17+
def __setstate__(self, state: Any) -> None: ...
18+
def __len__(self) -> int: ...
19+
@property
20+
def shape(self) -> Shape: ...
21+
@property
22+
def ndim(self) -> int: ...
23+
@property
24+
def size(self) -> int: ...
25+
@property
26+
def nbytes(self) -> int: ...
27+
def copy(self, order=...) -> Self: ...
28+
def delete(self, loc, axis=...) -> Self: ...
29+
def swapaxes(self, axis1, axis2) -> Self: ...
30+
def repeat(
31+
self,
32+
repeats: int | Sequence[int] | AnyArrayLikeInt,
33+
axis: AxisInt | None = None,
34+
) -> Self: ...
35+
def reshape(self, *args: Any, **kwargs: Any) -> Self: ...
36+
def ravel(self, order=...) -> Self: ...
37+
@property
38+
def T(self) -> Self: ...
Lines changed: 41 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,43 @@
1+
from pandas.core.arrays.arrow import ArrowExtensionArray
12
from pandas.core.arrays.base import (
2-
ExtensionArray as ExtensionArray,
3-
ExtensionOpsMixin as ExtensionOpsMixin,
4-
ExtensionScalarOpsMixin as ExtensionScalarOpsMixin,
3+
ExtensionArray,
4+
ExtensionOpsMixin,
5+
ExtensionScalarOpsMixin,
56
)
6-
from pandas.core.arrays.boolean import BooleanArray as BooleanArray
7-
from pandas.core.arrays.categorical import Categorical as Categorical
8-
from pandas.core.arrays.datetimes import DatetimeArray as DatetimeArray
9-
from pandas.core.arrays.integer import IntegerArray as IntegerArray
10-
from pandas.core.arrays.interval import IntervalArray as IntervalArray
11-
from pandas.core.arrays.numpy_ import PandasArray as PandasArray
12-
from pandas.core.arrays.period import PeriodArray as PeriodArray
13-
from pandas.core.arrays.sparse import SparseArray as SparseArray
14-
from pandas.core.arrays.string_ import StringArray as StringArray
15-
from pandas.core.arrays.timedeltas import TimedeltaArray as TimedeltaArray
7+
from pandas.core.arrays.boolean import BooleanArray
8+
from pandas.core.arrays.categorical import Categorical
9+
from pandas.core.arrays.datetimes import DatetimeArray
10+
from pandas.core.arrays.floating import FloatingArray
11+
from pandas.core.arrays.integer import IntegerArray
12+
from pandas.core.arrays.interval import IntervalArray
13+
from pandas.core.arrays.masked import BaseMaskedArray
14+
from pandas.core.arrays.numpy_ import NumpyExtensionArray
15+
from pandas.core.arrays.period import (
16+
PeriodArray,
17+
period_array,
18+
)
19+
from pandas.core.arrays.sparse import SparseArray
20+
from pandas.core.arrays.string_ import StringArray
21+
from pandas.core.arrays.string_arrow import ArrowStringArray
22+
from pandas.core.arrays.timedeltas import TimedeltaArray
23+
24+
__all__ = [
25+
"ArrowExtensionArray",
26+
"ArrowStringArray",
27+
"BaseMaskedArray",
28+
"BooleanArray",
29+
"Categorical",
30+
"DatetimeArray",
31+
"ExtensionArray",
32+
"ExtensionOpsMixin",
33+
"ExtensionScalarOpsMixin",
34+
"FloatingArray",
35+
"IntegerArray",
36+
"IntervalArray",
37+
"NumpyExtensionArray",
38+
"PeriodArray",
39+
"SparseArray",
40+
"StringArray",
41+
"TimedeltaArray",
42+
"period_array",
43+
]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
class ArrowStringArrayMixin: ...
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
from pandas.core.arrays.base import ExtensionArray
2+
from pandas.core.series import Series
3+
from typing_extensions import Self
24

35
from pandas._libs.arrays import NDArrayBacked
6+
from pandas._typing import (
7+
AxisInt,
8+
Scalar,
9+
)
410

5-
class NDArrayBackedExtensionArray(NDArrayBacked, ExtensionArray): ...
11+
class NDArrayBackedExtensionArray(NDArrayBacked, ExtensionArray):
12+
def argmin(self, axis: AxisInt = 0, skipna: bool = True) -> int: ...
13+
def argmax(self, axis: AxisInt = 0, skipna: bool = True) -> int: ...
14+
def insert(self, loc: int, item: Scalar) -> Self: ...
15+
def value_counts(self, dropna: bool = True) -> Series[int]: ...
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from pandas.core.arrays.arrow.accessors import (
2+
ListAccessor,
3+
StructAccessor,
4+
)
5+
from pandas.core.arrays.arrow.array import ArrowExtensionArray
6+
7+
__all__ = ["ArrowExtensionArray", "ListAccessor", "StructAccessor"]
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from abc import ABCMeta
2+
3+
class ArrowAccessor(metaclass=ABCMeta): ...
4+
class ListAccessor(ArrowAccessor): ...
5+
class StructAccessor(ArrowAccessor): ...
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from pandas.core.arraylike import OpsMixin
2+
from pandas.core.arrays._arrow_string_mixins import ArrowStringArrayMixin
3+
from pandas.core.arrays.base import ExtensionArraySupportsAnyAll
4+
5+
class ArrowExtensionArray(
6+
OpsMixin, ExtensionArraySupportsAnyAll, ArrowStringArrayMixin
7+
): ...

pandas-stubs/core/arrays/base.pyi

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class ExtensionArray:
8787
) -> np.intp: ...
8888
def factorize(self, use_na_sentinel: bool = True) -> tuple[np_1darray, Self]: ...
8989
def repeat(
90-
self, repeats: int | AnyArrayLikeInt | Sequence[int], axis: None = None
90+
self, repeats: int | Sequence[int] | AnyArrayLikeInt, axis: None = None
9191
) -> Self: ...
9292
def take(
9393
self,
@@ -114,6 +114,8 @@ class ExtensionArray:
114114
**kwargs: Any,
115115
) -> Self: ...
116116

117+
class ExtensionArraySupportsAnyAll(ExtensionArray): ...
118+
117119
class ExtensionOpsMixin:
118120
@classmethod
119121
def _add_arithmetic_ops(cls) -> None: ...

pandas-stubs/core/arrays/period.pyi

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1+
from collections.abc import Sequence
2+
13
from pandas import PeriodDtype
24
from pandas.core.arrays.datetimelike import (
35
DatelikeOps,
46
DatetimeLikeArrayMixin,
57
)
68

79
from pandas._libs.tslibs import Timestamp
10+
from pandas._libs.tslibs.offsets import (
11+
BaseOffset,
12+
Tick,
13+
)
814
from pandas._libs.tslibs.period import Period
915
from pandas._typing import (
16+
AnyArrayLike,
1017
NpDtype,
1118
PeriodFrequency,
1219
np_1darray,
@@ -47,3 +54,9 @@ class PeriodArray(DatetimeLikeArrayMixin, DatelikeOps):
4754
self, freq: PeriodFrequency | None = None, how: str = ...
4855
) -> Timestamp: ...
4956
def asfreq(self, freq: str | None = ..., how: str = "E") -> Period: ...
57+
58+
def period_array(
59+
data: Sequence[Period | str | None] | AnyArrayLike,
60+
freq: str | Tick | BaseOffset | None = None,
61+
copy: bool = False,
62+
) -> PeriodArray: ...

pandas-stubs/core/arrays/string_.pyi

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from typing import Literal
22

3-
from pandas.core.arrays import PandasArray
3+
from pandas.core.arrays.base import ExtensionArray
4+
from pandas.core.arrays.numpy_ import NumpyExtensionArray
45

56
from pandas._libs.missing import NAType
67

@@ -11,7 +12,9 @@ class StringDtype(ExtensionDtype):
1112
@property
1213
def na_value(self) -> NAType: ...
1314

14-
class StringArray(PandasArray):
15+
class BaseStringArray(ExtensionArray): ...
16+
17+
class StringArray(BaseStringArray, NumpyExtensionArray):
1518
def __init__(self, values, copy: bool = ...) -> None: ...
1619
def __arrow_array__(self, type=...): ...
1720
def __setitem__(self, key, value) -> None: ...

0 commit comments

Comments
 (0)