-
-
Notifications
You must be signed in to change notification settings - Fork 141
/
Copy pathmulti.pyi
166 lines (162 loc) · 5.34 KB
/
multi.pyi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
from collections.abc import (
Callable,
Hashable,
Sequence,
)
from typing import (
Any,
Literal,
overload,
)
from _typing import SequenceNotStr
import numpy as np
import pandas as pd
from pandas.core.indexes.base import Index
from typing_extensions import Self
from pandas._typing import (
Axes,
Dtype,
DtypeArg,
HashableT,
MaskType,
np_ndarray_anyint,
np_ndarray_bool,
)
class MultiIndex(Index[Any]):
def __new__(
cls,
levels: Sequence[SequenceNotStr[Hashable]] = ...,
codes: Sequence[Sequence[int]] = ...,
sortorder: int | None = ...,
names: SequenceNotStr[Hashable] = ...,
copy: bool = ...,
name: SequenceNotStr[Hashable] = ...,
verify_integrity: bool = ...,
) -> Self: ...
@classmethod
def from_arrays(
cls,
arrays: Sequence[Axes],
sortorder: int | None = ...,
names: SequenceNotStr[Hashable] = ...,
) -> Self: ...
@classmethod
def from_tuples(
cls,
tuples: Sequence[tuple[Hashable, ...]],
sortorder: int | None = ...,
names: SequenceNotStr[Hashable] = ...,
) -> Self: ...
@classmethod
def from_product(
cls,
iterables: Sequence[SequenceNotStr[Hashable]],
sortorder: int | None = ...,
names: SequenceNotStr[Hashable] = ...,
) -> Self: ...
@classmethod
def from_frame(
cls,
df: pd.DataFrame,
sortorder: int | None = ...,
names: SequenceNotStr[Hashable] = ...,
) -> Self: ...
@property
def shape(self): ...
@property # Should be read-only
def levels(self) -> list[Index]: ...
def set_levels(self, levels, *, level=..., verify_integrity: bool = ...): ...
@property
def codes(self): ...
def set_codes(self, codes, *, level=..., verify_integrity: bool = ...): ...
def copy( # pyright: ignore[reportIncompatibleMethodOverride]
self, names=..., deep: bool = ...
) -> Self: ...
def __array__(self, dtype=...) -> np.ndarray: ...
def view(self, cls=...): ...
def __contains__(self, key) -> bool: ...
@property
def dtype(self) -> np.dtype: ...
@property
def dtypes(self) -> pd.Series[Dtype]: ...
def memory_usage(self, deep: bool = ...) -> int: ...
@property
def nbytes(self) -> int: ...
def format(
self,
name: bool | None = ...,
formatter: Callable | None = ...,
na_rep: str | None = ...,
names: bool = ...,
space: int = ...,
sparsify: bool | None = ...,
adjoin: bool = ...,
) -> list: ...
def __len__(self) -> int: ...
@property
def values(self): ...
@property
def is_monotonic_increasing(self) -> bool: ...
@property
def is_monotonic_decreasing(self) -> bool: ...
def duplicated(self, keep: Literal["first", "last", False] = ...): ...
def dropna(self, how: Literal["any", "all"] = ...) -> Self: ...
def get_level_values(self, level: str | int) -> Index: ...
def unique(self, level=...): ...
def to_frame(
self,
index: bool = ...,
name: list[HashableT] = ...,
allow_duplicates: bool = ...,
) -> pd.DataFrame: ...
def to_flat_index(self): ...
def remove_unused_levels(self): ...
@property
def nlevels(self) -> int: ...
@property
def levshape(self): ...
def __reduce__(self): ...
@overload # type: ignore[override]
def __getitem__(
self,
idx: slice | np_ndarray_anyint | Sequence[int] | Index | MaskType,
) -> Self: ...
@overload
def __getitem__( # pyright: ignore[reportIncompatibleMethodOverride]
self, key: int
) -> tuple: ...
def take(
self, indices, axis: int = ..., allow_fill: bool = ..., fill_value=..., **kwargs
): ...
def append(self, other): ...
def argsort(self, *args, **kwargs): ...
def repeat(self, repeats, axis=...): ...
def where(self, cond, other=...) -> None: ...
def drop(self, codes, level=..., errors: str = ...) -> Self: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
def swaplevel(self, i: int = ..., j: int = ...): ...
def reorder_levels(self, order): ...
def sortlevel(
self, level: int = ..., ascending: bool = ..., sort_remaining: bool = ...
): ...
def get_indexer(self, target, method=..., limit=..., tolerance=...): ...
def get_indexer_non_unique(self, target): ...
def reindex(self, target, method=..., level=..., limit=..., tolerance=...): ...
def get_slice_bound(
self, label: Hashable | Sequence[Hashable], side: str
) -> int: ...
def slice_locs(self, start=..., end=..., step=...): ...
def get_loc_level(self, key, level=..., drop_level: bool = ...): ...
def get_locs(self, seq): ...
def truncate(self, before=..., after=...): ...
def equals(self, other) -> bool: ...
def equal_levels(self, other): ...
def union(self, other, sort=...): ...
def intersection( # pyright: ignore[reportIncompatibleMethodOverride]
self, other: list | Self, sort: bool = ...
): ...
def difference(self, other, sort=...): ...
def astype(self, dtype: DtypeArg, copy: bool = ...) -> Self: ...
def insert(self, loc, item): ...
def delete(self, loc): ...
def isin(self, values, level=...) -> np_ndarray_bool: ...
def maybe_droplevels(index, key): ...