17
17
from __future__ import annotations
18
18
19
19
import datetime
20
+ import inspect
20
21
import re
21
22
import sys
22
23
import textwrap
@@ -314,6 +315,8 @@ def __len__(self):
314
315
rows , _ = self .shape
315
316
return rows
316
317
318
+ __len__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__len__ )
319
+
317
320
def __iter__ (self ):
318
321
return iter (self .columns )
319
322
@@ -466,7 +469,6 @@ def __getitem__(
466
469
bigframes .series .Series ,
467
470
],
468
471
): # No return type annotations (like pandas) as type cannot always be determined statically
469
- """Gets the specified column(s) from the DataFrame."""
470
472
# NOTE: This implements the operations described in
471
473
# https://pandas.pydata.org/docs/getting_started/intro_tutorials/03_subset_data.html
472
474
@@ -498,6 +500,8 @@ def __getitem__(
498
500
499
501
return DataFrame (self ._block .select_columns (selected_ids ))
500
502
503
+ __getitem__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__getitem__ )
504
+
501
505
def _getitem_label (self , key : blocks .Label ):
502
506
col_ids = self ._block .cols_matching_label (key )
503
507
if len (col_ids ) == 0 :
@@ -642,14 +646,11 @@ def _repr_html_(self) -> str:
642
646
return html_string
643
647
644
648
def __setitem__ (self , key : str , value : SingleItemValue ):
645
- """Modify or insert a column into the DataFrame.
646
-
647
- Note: This does **not** modify the original table the DataFrame was
648
- derived from.
649
- """
650
649
df = self ._assign_single_item (key , value )
651
650
self ._set_block (df ._get_block ())
652
651
652
+ __setitem__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__setitem__ )
653
+
653
654
def _apply_binop (
654
655
self ,
655
656
other : float | int | bigframes .series .Series | DataFrame ,
@@ -838,32 +839,50 @@ def _apply_dataframe_binop(
838
839
def eq (self , other : typing .Any , axis : str | int = "columns" ) -> DataFrame :
839
840
return self ._apply_binop (other , ops .eq_op , axis = axis )
840
841
842
+ def __eq__ (self , other ) -> DataFrame : # type: ignore
843
+ return self .eq (other )
844
+
845
+ __eq__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__eq__ )
846
+
841
847
def ne (self , other : typing .Any , axis : str | int = "columns" ) -> DataFrame :
842
848
return self ._apply_binop (other , ops .ne_op , axis = axis )
843
849
844
- __eq__ = eq # type: ignore
850
+ def __ne__ (self , other ) -> DataFrame : # type: ignore
851
+ return self .ne (other )
845
852
846
- __ne__ = ne # type: ignore
853
+ __ne__ . __doc__ = inspect . getdoc ( vendored_pandas_frame . DataFrame . __ne__ )
847
854
848
855
def le (self , other : typing .Any , axis : str | int = "columns" ) -> DataFrame :
849
856
return self ._apply_binop (other , ops .le_op , axis = axis )
850
857
858
+ def __le__ (self , other ) -> DataFrame :
859
+ return self .le (other )
860
+
861
+ __le__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__le__ )
862
+
851
863
def lt (self , other : typing .Any , axis : str | int = "columns" ) -> DataFrame :
852
864
return self ._apply_binop (other , ops .lt_op , axis = axis )
853
865
866
+ def __lt__ (self , other ) -> DataFrame :
867
+ return self .lt (other )
868
+
869
+ __lt__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__lt__ )
870
+
854
871
def ge (self , other : typing .Any , axis : str | int = "columns" ) -> DataFrame :
855
872
return self ._apply_binop (other , ops .ge_op , axis = axis )
856
873
857
- def gt (self , other : typing . Any , axis : str | int = "columns" ) -> DataFrame :
858
- return self ._apply_binop (other , ops . gt_op , axis = axis )
874
+ def __ge__ (self , other ) -> DataFrame :
875
+ return self .ge (other )
859
876
860
- __lt__ = lt
877
+ __ge__ . __doc__ = inspect . getdoc ( vendored_pandas_frame . DataFrame . __ge__ )
861
878
862
- __le__ = le
879
+ def gt (self , other : typing .Any , axis : str | int = "columns" ) -> DataFrame :
880
+ return self ._apply_binop (other , ops .gt_op , axis = axis )
863
881
864
- __gt__ = gt
882
+ def __gt__ (self , other ) -> DataFrame :
883
+ return self .gt (other )
865
884
866
- __ge__ = ge
885
+ __gt__ . __doc__ = inspect . getdoc ( vendored_pandas_frame . DataFrame . __gt__ )
867
886
868
887
def add (
869
888
self ,
@@ -874,7 +893,21 @@ def add(
874
893
# TODO(swast): Support level parameter with MultiIndex.
875
894
return self ._apply_binop (other , ops .add_op , axis = axis )
876
895
877
- __radd__ = __add__ = radd = add
896
+ def radd (
897
+ self ,
898
+ other : float | int | bigframes .series .Series | DataFrame ,
899
+ axis : str | int = "columns" ,
900
+ ) -> DataFrame :
901
+ # TODO(swast): Support fill_value parameter.
902
+ # TODO(swast): Support level parameter with MultiIndex.
903
+ return self .add (other , axis = axis )
904
+
905
+ def __add__ (self , other ) -> DataFrame :
906
+ return self .add (other )
907
+
908
+ __add__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__add__ )
909
+
910
+ __radd__ = __add__
878
911
879
912
def sub (
880
913
self ,
@@ -883,7 +916,13 @@ def sub(
883
916
) -> DataFrame :
884
917
return self ._apply_binop (other , ops .sub_op , axis = axis )
885
918
886
- __sub__ = subtract = sub
919
+ subtract = sub
920
+ subtract .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .sub )
921
+
922
+ def __sub__ (self , other ):
923
+ return self .sub (other )
924
+
925
+ __sub__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__sub__ )
887
926
888
927
def rsub (
889
928
self ,
@@ -892,7 +931,10 @@ def rsub(
892
931
) -> DataFrame :
893
932
return self ._apply_binop (other , ops .sub_op , axis = axis , reverse = True )
894
933
895
- __rsub__ = rsub
934
+ def __rsub__ (self , other ):
935
+ return self .rsub (other )
936
+
937
+ __rsub__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__rsub__ )
896
938
897
939
def mul (
898
940
self ,
@@ -901,7 +943,25 @@ def mul(
901
943
) -> DataFrame :
902
944
return self ._apply_binop (other , ops .mul_op , axis = axis )
903
945
904
- __rmul__ = __mul__ = rmul = multiply = mul
946
+ multiply = mul
947
+ multiply .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .mul )
948
+
949
+ def __mul__ (self , other ):
950
+ return self .mul (other )
951
+
952
+ __mul__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__mul__ )
953
+
954
+ def rmul (
955
+ self ,
956
+ other : float | int | bigframes .series .Series | DataFrame ,
957
+ axis : str | int = "columns" ,
958
+ ) -> DataFrame :
959
+ return self .mul (other , axis = axis )
960
+
961
+ def __rmul__ (self , other ):
962
+ return self .rmul (other )
963
+
964
+ __rmul__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__rmul__ )
905
965
906
966
def truediv (
907
967
self ,
@@ -910,7 +970,13 @@ def truediv(
910
970
) -> DataFrame :
911
971
return self ._apply_binop (other , ops .div_op , axis = axis )
912
972
913
- div = divide = __truediv__ = truediv
973
+ truediv .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .truediv )
974
+ div = divide = truediv
975
+
976
+ def __truediv__ (self , other ):
977
+ return self .truediv (other )
978
+
979
+ __truediv__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__truediv__ )
914
980
915
981
def rtruediv (
916
982
self ,
@@ -919,7 +985,13 @@ def rtruediv(
919
985
) -> DataFrame :
920
986
return self ._apply_binop (other , ops .div_op , axis = axis , reverse = True )
921
987
922
- __rtruediv__ = rdiv = rtruediv
988
+ rdiv = rtruediv
989
+ rdiv .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .rtruediv )
990
+
991
+ def __rtruediv__ (self , other ):
992
+ return self .rtruediv (other )
993
+
994
+ __rtruediv__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__rtruediv__ )
923
995
924
996
def floordiv (
925
997
self ,
@@ -928,7 +1000,10 @@ def floordiv(
928
1000
) -> DataFrame :
929
1001
return self ._apply_binop (other , ops .floordiv_op , axis = axis )
930
1002
931
- __floordiv__ = floordiv
1003
+ def __floordiv__ (self , other ):
1004
+ return self .floordiv (other )
1005
+
1006
+ __floordiv__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__floordiv__ )
932
1007
933
1008
def rfloordiv (
934
1009
self ,
@@ -937,31 +1012,48 @@ def rfloordiv(
937
1012
) -> DataFrame :
938
1013
return self ._apply_binop (other , ops .floordiv_op , axis = axis , reverse = True )
939
1014
940
- __rfloordiv__ = rfloordiv
1015
+ def __rfloordiv__ (self , other ):
1016
+ return self .rfloordiv (other )
1017
+
1018
+ __rfloordiv__ .__doc__ = inspect .getdoc (
1019
+ vendored_pandas_frame .DataFrame .__rfloordiv__
1020
+ )
941
1021
942
1022
def mod (self , other : int | bigframes .series .Series | DataFrame , axis : str | int = "columns" ) -> DataFrame : # type: ignore
943
1023
return self ._apply_binop (other , ops .mod_op , axis = axis )
944
1024
1025
+ def __mod__ (self , other ):
1026
+ return self .mod (other )
1027
+
1028
+ __mod__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__mod__ )
1029
+
945
1030
def rmod (self , other : int | bigframes .series .Series | DataFrame , axis : str | int = "columns" ) -> DataFrame : # type: ignore
946
1031
return self ._apply_binop (other , ops .mod_op , axis = axis , reverse = True )
947
1032
948
- __mod__ = mod
1033
+ def __rmod__ (self , other ):
1034
+ return self .rmod (other )
949
1035
950
- __rmod__ = rmod
1036
+ __rmod__ . __doc__ = inspect . getdoc ( vendored_pandas_frame . DataFrame . __rmod__ )
951
1037
952
1038
def pow (
953
1039
self , other : int | bigframes .series .Series , axis : str | int = "columns"
954
1040
) -> DataFrame :
955
1041
return self ._apply_binop (other , ops .pow_op , axis = axis )
956
1042
1043
+ def __pow__ (self , other ):
1044
+ return self .pow (other )
1045
+
1046
+ __pow__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__pow__ )
1047
+
957
1048
def rpow (
958
1049
self , other : int | bigframes .series .Series , axis : str | int = "columns"
959
1050
) -> DataFrame :
960
1051
return self ._apply_binop (other , ops .pow_op , axis = axis , reverse = True )
961
1052
962
- __pow__ = pow
1053
+ def __rpow__ (self , other ):
1054
+ return self .rpow (other )
963
1055
964
- __rpow__ = rpow
1056
+ __rpow__ . __doc__ = inspect . getdoc ( vendored_pandas_frame . DataFrame . __rpow__ )
965
1057
966
1058
def align (
967
1059
self ,
@@ -1971,6 +2063,7 @@ def prod(
1971
2063
return bigframes .series .Series (block .select_column ("values" ))
1972
2064
1973
2065
product = prod
2066
+ product .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .prod )
1974
2067
1975
2068
def count (self , * , numeric_only : bool = False ) -> bigframes .series .Series :
1976
2069
if not numeric_only :
@@ -2010,6 +2103,7 @@ def agg(
2010
2103
)
2011
2104
2012
2105
aggregate = agg
2106
+ aggregate .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .agg )
2013
2107
2014
2108
def idxmin (self ) -> bigframes .series .Series :
2015
2109
return bigframes .series .Series (block_ops .idxmin (self ._block ))
@@ -2083,6 +2177,7 @@ def kurt(self, *, numeric_only: bool = False):
2083
2177
return bigframes .series .Series (result_block )
2084
2178
2085
2179
kurtosis = kurt
2180
+ kurtosis .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .kurt )
2086
2181
2087
2182
def _pivot (
2088
2183
self ,
@@ -2542,11 +2637,13 @@ def isna(self) -> DataFrame:
2542
2637
return self ._apply_unary_op (ops .isnull_op )
2543
2638
2544
2639
isnull = isna
2640
+ isnull .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .isna )
2545
2641
2546
2642
def notna (self ) -> DataFrame :
2547
2643
return self ._apply_unary_op (ops .notnull_op )
2548
2644
2549
2645
notnull = notna
2646
+ notnull .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .notna )
2550
2647
2551
2648
def cumsum (self ):
2552
2649
is_numeric_types = [
@@ -2860,7 +2957,10 @@ def to_numpy(
2860
2957
) -> numpy .ndarray :
2861
2958
return self .to_pandas ().to_numpy (dtype , copy , na_value , ** kwargs )
2862
2959
2863
- __array__ = to_numpy
2960
+ def __array__ (self , dtype = None ) -> numpy .ndarray :
2961
+ return self .to_numpy (dtype = dtype )
2962
+
2963
+ __array__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__array__ )
2864
2964
2865
2965
def to_parquet (
2866
2966
self ,
@@ -3227,6 +3327,7 @@ def first_valid_index(self):
3227
3327
return
3228
3328
3229
3329
applymap = map
3330
+ applymap .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .map )
3230
3331
3231
3332
def _slice (
3232
3333
self ,
@@ -3367,4 +3468,7 @@ def get_right_id(id):
3367
3468
def plot (self ):
3368
3469
return plotting .PlotAccessor (self )
3369
3470
3370
- __matmul__ = dot
3471
+ def __matmul__ (self , other ) -> DataFrame :
3472
+ return self .dot (other )
3473
+
3474
+ __matmul__ .__doc__ = inspect .getdoc (vendored_pandas_frame .DataFrame .__matmul__ )
0 commit comments