maxframe 0.1.0b5__cp310-cp310-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of maxframe might be problematic. Click here for more details.
- maxframe/__init__.py +32 -0
- maxframe/_utils.cpython-310-darwin.so +0 -0
- maxframe/_utils.pxd +33 -0
- maxframe/_utils.pyx +547 -0
- maxframe/codegen.py +528 -0
- maxframe/config/__init__.py +15 -0
- maxframe/config/config.py +443 -0
- maxframe/config/tests/__init__.py +13 -0
- maxframe/config/tests/test_config.py +103 -0
- maxframe/config/tests/test_validators.py +34 -0
- maxframe/config/validators.py +57 -0
- maxframe/conftest.py +139 -0
- maxframe/core/__init__.py +65 -0
- maxframe/core/base.py +156 -0
- maxframe/core/entity/__init__.py +44 -0
- maxframe/core/entity/chunks.py +68 -0
- maxframe/core/entity/core.py +152 -0
- maxframe/core/entity/executable.py +337 -0
- maxframe/core/entity/fuse.py +73 -0
- maxframe/core/entity/objects.py +100 -0
- maxframe/core/entity/output_types.py +90 -0
- maxframe/core/entity/tileables.py +438 -0
- maxframe/core/entity/utils.py +24 -0
- maxframe/core/graph/__init__.py +17 -0
- maxframe/core/graph/builder/__init__.py +16 -0
- maxframe/core/graph/builder/base.py +86 -0
- maxframe/core/graph/builder/chunk.py +430 -0
- maxframe/core/graph/builder/tileable.py +34 -0
- maxframe/core/graph/builder/utils.py +41 -0
- maxframe/core/graph/core.cpython-310-darwin.so +0 -0
- maxframe/core/graph/core.pyx +467 -0
- maxframe/core/graph/entity.py +171 -0
- maxframe/core/graph/tests/__init__.py +13 -0
- maxframe/core/graph/tests/test_graph.py +205 -0
- maxframe/core/mode.py +96 -0
- maxframe/core/operator/__init__.py +34 -0
- maxframe/core/operator/base.py +450 -0
- maxframe/core/operator/core.py +276 -0
- maxframe/core/operator/fetch.py +53 -0
- maxframe/core/operator/fuse.py +29 -0
- maxframe/core/operator/objects.py +72 -0
- maxframe/core/operator/shuffle.py +111 -0
- maxframe/core/operator/tests/__init__.py +13 -0
- maxframe/core/operator/tests/test_core.py +64 -0
- maxframe/core/tests/__init__.py +13 -0
- maxframe/core/tests/test_mode.py +75 -0
- maxframe/dataframe/__init__.py +81 -0
- maxframe/dataframe/arithmetic/__init__.py +359 -0
- maxframe/dataframe/arithmetic/abs.py +33 -0
- maxframe/dataframe/arithmetic/add.py +60 -0
- maxframe/dataframe/arithmetic/arccos.py +28 -0
- maxframe/dataframe/arithmetic/arccosh.py +28 -0
- maxframe/dataframe/arithmetic/arcsin.py +28 -0
- maxframe/dataframe/arithmetic/arcsinh.py +28 -0
- maxframe/dataframe/arithmetic/arctan.py +28 -0
- maxframe/dataframe/arithmetic/arctanh.py +28 -0
- maxframe/dataframe/arithmetic/around.py +152 -0
- maxframe/dataframe/arithmetic/bitwise_and.py +46 -0
- maxframe/dataframe/arithmetic/bitwise_or.py +50 -0
- maxframe/dataframe/arithmetic/bitwise_xor.py +46 -0
- maxframe/dataframe/arithmetic/ceil.py +28 -0
- maxframe/dataframe/arithmetic/core.py +342 -0
- maxframe/dataframe/arithmetic/cos.py +28 -0
- maxframe/dataframe/arithmetic/cosh.py +28 -0
- maxframe/dataframe/arithmetic/degrees.py +28 -0
- maxframe/dataframe/arithmetic/docstring.py +442 -0
- maxframe/dataframe/arithmetic/equal.py +56 -0
- maxframe/dataframe/arithmetic/exp.py +28 -0
- maxframe/dataframe/arithmetic/exp2.py +28 -0
- maxframe/dataframe/arithmetic/expm1.py +28 -0
- maxframe/dataframe/arithmetic/floor.py +28 -0
- maxframe/dataframe/arithmetic/floordiv.py +64 -0
- maxframe/dataframe/arithmetic/greater.py +57 -0
- maxframe/dataframe/arithmetic/greater_equal.py +57 -0
- maxframe/dataframe/arithmetic/invert.py +33 -0
- maxframe/dataframe/arithmetic/is_ufuncs.py +62 -0
- maxframe/dataframe/arithmetic/less.py +57 -0
- maxframe/dataframe/arithmetic/less_equal.py +57 -0
- maxframe/dataframe/arithmetic/log.py +28 -0
- maxframe/dataframe/arithmetic/log10.py +28 -0
- maxframe/dataframe/arithmetic/log2.py +28 -0
- maxframe/dataframe/arithmetic/mod.py +60 -0
- maxframe/dataframe/arithmetic/multiply.py +60 -0
- maxframe/dataframe/arithmetic/negative.py +33 -0
- maxframe/dataframe/arithmetic/not_equal.py +56 -0
- maxframe/dataframe/arithmetic/power.py +68 -0
- maxframe/dataframe/arithmetic/radians.py +28 -0
- maxframe/dataframe/arithmetic/sin.py +28 -0
- maxframe/dataframe/arithmetic/sinh.py +28 -0
- maxframe/dataframe/arithmetic/sqrt.py +28 -0
- maxframe/dataframe/arithmetic/subtract.py +64 -0
- maxframe/dataframe/arithmetic/tan.py +28 -0
- maxframe/dataframe/arithmetic/tanh.py +28 -0
- maxframe/dataframe/arithmetic/tests/__init__.py +13 -0
- maxframe/dataframe/arithmetic/tests/test_arithmetic.py +695 -0
- maxframe/dataframe/arithmetic/truediv.py +64 -0
- maxframe/dataframe/arithmetic/trunc.py +28 -0
- maxframe/dataframe/arrays.py +864 -0
- maxframe/dataframe/core.py +2417 -0
- maxframe/dataframe/datasource/__init__.py +15 -0
- maxframe/dataframe/datasource/core.py +81 -0
- maxframe/dataframe/datasource/dataframe.py +59 -0
- maxframe/dataframe/datasource/date_range.py +504 -0
- maxframe/dataframe/datasource/from_index.py +54 -0
- maxframe/dataframe/datasource/from_records.py +107 -0
- maxframe/dataframe/datasource/from_tensor.py +419 -0
- maxframe/dataframe/datasource/index.py +117 -0
- maxframe/dataframe/datasource/read_csv.py +528 -0
- maxframe/dataframe/datasource/read_odps_query.py +299 -0
- maxframe/dataframe/datasource/read_odps_table.py +253 -0
- maxframe/dataframe/datasource/read_parquet.py +421 -0
- maxframe/dataframe/datasource/series.py +55 -0
- maxframe/dataframe/datasource/tests/__init__.py +13 -0
- maxframe/dataframe/datasource/tests/test_datasource.py +401 -0
- maxframe/dataframe/datastore/__init__.py +26 -0
- maxframe/dataframe/datastore/core.py +19 -0
- maxframe/dataframe/datastore/to_csv.py +227 -0
- maxframe/dataframe/datastore/to_odps.py +162 -0
- maxframe/dataframe/extensions/__init__.py +41 -0
- maxframe/dataframe/extensions/accessor.py +50 -0
- maxframe/dataframe/extensions/reshuffle.py +83 -0
- maxframe/dataframe/extensions/tests/__init__.py +13 -0
- maxframe/dataframe/extensions/tests/test_extensions.py +38 -0
- maxframe/dataframe/fetch/__init__.py +15 -0
- maxframe/dataframe/fetch/core.py +86 -0
- maxframe/dataframe/groupby/__init__.py +82 -0
- maxframe/dataframe/groupby/aggregation.py +350 -0
- maxframe/dataframe/groupby/apply.py +251 -0
- maxframe/dataframe/groupby/core.py +179 -0
- maxframe/dataframe/groupby/cum.py +124 -0
- maxframe/dataframe/groupby/fill.py +141 -0
- maxframe/dataframe/groupby/getitem.py +92 -0
- maxframe/dataframe/groupby/head.py +105 -0
- maxframe/dataframe/groupby/sample.py +214 -0
- maxframe/dataframe/groupby/tests/__init__.py +13 -0
- maxframe/dataframe/groupby/tests/test_groupby.py +374 -0
- maxframe/dataframe/groupby/transform.py +255 -0
- maxframe/dataframe/indexing/__init__.py +84 -0
- maxframe/dataframe/indexing/add_prefix_suffix.py +110 -0
- maxframe/dataframe/indexing/align.py +349 -0
- maxframe/dataframe/indexing/at.py +83 -0
- maxframe/dataframe/indexing/getitem.py +204 -0
- maxframe/dataframe/indexing/iat.py +37 -0
- maxframe/dataframe/indexing/iloc.py +566 -0
- maxframe/dataframe/indexing/insert.py +86 -0
- maxframe/dataframe/indexing/loc.py +411 -0
- maxframe/dataframe/indexing/reindex.py +526 -0
- maxframe/dataframe/indexing/rename.py +462 -0
- maxframe/dataframe/indexing/rename_axis.py +209 -0
- maxframe/dataframe/indexing/reset_index.py +402 -0
- maxframe/dataframe/indexing/sample.py +221 -0
- maxframe/dataframe/indexing/set_axis.py +194 -0
- maxframe/dataframe/indexing/set_index.py +61 -0
- maxframe/dataframe/indexing/setitem.py +130 -0
- maxframe/dataframe/indexing/tests/__init__.py +13 -0
- maxframe/dataframe/indexing/tests/test_indexing.py +488 -0
- maxframe/dataframe/indexing/where.py +308 -0
- maxframe/dataframe/initializer.py +288 -0
- maxframe/dataframe/merge/__init__.py +32 -0
- maxframe/dataframe/merge/append.py +121 -0
- maxframe/dataframe/merge/concat.py +325 -0
- maxframe/dataframe/merge/merge.py +593 -0
- maxframe/dataframe/merge/tests/__init__.py +13 -0
- maxframe/dataframe/merge/tests/test_merge.py +215 -0
- maxframe/dataframe/misc/__init__.py +134 -0
- maxframe/dataframe/misc/_duplicate.py +46 -0
- maxframe/dataframe/misc/accessor.py +276 -0
- maxframe/dataframe/misc/apply.py +692 -0
- maxframe/dataframe/misc/astype.py +236 -0
- maxframe/dataframe/misc/case_when.py +141 -0
- maxframe/dataframe/misc/check_monotonic.py +84 -0
- maxframe/dataframe/misc/cut.py +383 -0
- maxframe/dataframe/misc/datetimes.py +79 -0
- maxframe/dataframe/misc/describe.py +108 -0
- maxframe/dataframe/misc/diff.py +210 -0
- maxframe/dataframe/misc/drop.py +440 -0
- maxframe/dataframe/misc/drop_duplicates.py +248 -0
- maxframe/dataframe/misc/duplicated.py +292 -0
- maxframe/dataframe/misc/eval.py +728 -0
- maxframe/dataframe/misc/explode.py +171 -0
- maxframe/dataframe/misc/get_dummies.py +208 -0
- maxframe/dataframe/misc/isin.py +217 -0
- maxframe/dataframe/misc/map.py +236 -0
- maxframe/dataframe/misc/melt.py +162 -0
- maxframe/dataframe/misc/memory_usage.py +248 -0
- maxframe/dataframe/misc/pct_change.py +150 -0
- maxframe/dataframe/misc/pivot_table.py +262 -0
- maxframe/dataframe/misc/qcut.py +104 -0
- maxframe/dataframe/misc/select_dtypes.py +104 -0
- maxframe/dataframe/misc/shift.py +256 -0
- maxframe/dataframe/misc/stack.py +238 -0
- maxframe/dataframe/misc/string_.py +221 -0
- maxframe/dataframe/misc/tests/__init__.py +13 -0
- maxframe/dataframe/misc/tests/test_misc.py +468 -0
- maxframe/dataframe/misc/to_numeric.py +178 -0
- maxframe/dataframe/misc/transform.py +361 -0
- maxframe/dataframe/misc/transpose.py +136 -0
- maxframe/dataframe/misc/value_counts.py +182 -0
- maxframe/dataframe/missing/__init__.py +53 -0
- maxframe/dataframe/missing/checkna.py +223 -0
- maxframe/dataframe/missing/dropna.py +280 -0
- maxframe/dataframe/missing/fillna.py +275 -0
- maxframe/dataframe/missing/replace.py +439 -0
- maxframe/dataframe/missing/tests/__init__.py +13 -0
- maxframe/dataframe/missing/tests/test_missing.py +89 -0
- maxframe/dataframe/operators.py +273 -0
- maxframe/dataframe/plotting/__init__.py +40 -0
- maxframe/dataframe/plotting/core.py +78 -0
- maxframe/dataframe/plotting/tests/__init__.py +13 -0
- maxframe/dataframe/plotting/tests/test_plotting.py +136 -0
- maxframe/dataframe/reduction/__init__.py +107 -0
- maxframe/dataframe/reduction/aggregation.py +344 -0
- maxframe/dataframe/reduction/all.py +78 -0
- maxframe/dataframe/reduction/any.py +78 -0
- maxframe/dataframe/reduction/core.py +837 -0
- maxframe/dataframe/reduction/count.py +59 -0
- maxframe/dataframe/reduction/cummax.py +30 -0
- maxframe/dataframe/reduction/cummin.py +30 -0
- maxframe/dataframe/reduction/cumprod.py +30 -0
- maxframe/dataframe/reduction/cumsum.py +30 -0
- maxframe/dataframe/reduction/custom_reduction.py +42 -0
- maxframe/dataframe/reduction/kurtosis.py +104 -0
- maxframe/dataframe/reduction/max.py +65 -0
- maxframe/dataframe/reduction/mean.py +61 -0
- maxframe/dataframe/reduction/min.py +65 -0
- maxframe/dataframe/reduction/nunique.py +141 -0
- maxframe/dataframe/reduction/prod.py +76 -0
- maxframe/dataframe/reduction/reduction_size.py +36 -0
- maxframe/dataframe/reduction/sem.py +69 -0
- maxframe/dataframe/reduction/skew.py +89 -0
- maxframe/dataframe/reduction/std.py +53 -0
- maxframe/dataframe/reduction/str_concat.py +48 -0
- maxframe/dataframe/reduction/sum.py +77 -0
- maxframe/dataframe/reduction/tests/__init__.py +13 -0
- maxframe/dataframe/reduction/tests/test_reduction.py +486 -0
- maxframe/dataframe/reduction/unique.py +90 -0
- maxframe/dataframe/reduction/var.py +72 -0
- maxframe/dataframe/sort/__init__.py +34 -0
- maxframe/dataframe/sort/core.py +36 -0
- maxframe/dataframe/sort/sort_index.py +153 -0
- maxframe/dataframe/sort/sort_values.py +311 -0
- maxframe/dataframe/sort/tests/__init__.py +13 -0
- maxframe/dataframe/sort/tests/test_sort.py +81 -0
- maxframe/dataframe/statistics/__init__.py +33 -0
- maxframe/dataframe/statistics/corr.py +280 -0
- maxframe/dataframe/statistics/quantile.py +341 -0
- maxframe/dataframe/statistics/tests/__init__.py +13 -0
- maxframe/dataframe/statistics/tests/test_statistics.py +82 -0
- maxframe/dataframe/tests/__init__.py +13 -0
- maxframe/dataframe/tests/test_initializer.py +29 -0
- maxframe/dataframe/tseries/__init__.py +13 -0
- maxframe/dataframe/tseries/tests/__init__.py +13 -0
- maxframe/dataframe/tseries/tests/test_tseries.py +30 -0
- maxframe/dataframe/tseries/to_datetime.py +297 -0
- maxframe/dataframe/ufunc/__init__.py +27 -0
- maxframe/dataframe/ufunc/tensor.py +54 -0
- maxframe/dataframe/ufunc/ufunc.py +52 -0
- maxframe/dataframe/utils.py +1267 -0
- maxframe/dataframe/window/__init__.py +29 -0
- maxframe/dataframe/window/aggregation.py +96 -0
- maxframe/dataframe/window/core.py +69 -0
- maxframe/dataframe/window/ewm.py +249 -0
- maxframe/dataframe/window/expanding.py +147 -0
- maxframe/dataframe/window/rolling.py +376 -0
- maxframe/dataframe/window/tests/__init__.py +13 -0
- maxframe/dataframe/window/tests/test_ewm.py +70 -0
- maxframe/dataframe/window/tests/test_expanding.py +66 -0
- maxframe/dataframe/window/tests/test_rolling.py +57 -0
- maxframe/env.py +33 -0
- maxframe/errors.py +21 -0
- maxframe/extension.py +81 -0
- maxframe/learn/__init__.py +17 -0
- maxframe/learn/contrib/__init__.py +17 -0
- maxframe/learn/contrib/pytorch/__init__.py +16 -0
- maxframe/learn/contrib/pytorch/run_function.py +110 -0
- maxframe/learn/contrib/pytorch/run_script.py +102 -0
- maxframe/learn/contrib/pytorch/tests/__init__.py +13 -0
- maxframe/learn/contrib/pytorch/tests/test_pytorch.py +42 -0
- maxframe/learn/contrib/utils.py +52 -0
- maxframe/learn/contrib/xgboost/__init__.py +26 -0
- maxframe/learn/contrib/xgboost/classifier.py +86 -0
- maxframe/learn/contrib/xgboost/core.py +156 -0
- maxframe/learn/contrib/xgboost/dmatrix.py +150 -0
- maxframe/learn/contrib/xgboost/predict.py +138 -0
- maxframe/learn/contrib/xgboost/regressor.py +78 -0
- maxframe/learn/contrib/xgboost/tests/__init__.py +13 -0
- maxframe/learn/contrib/xgboost/tests/test_core.py +43 -0
- maxframe/learn/contrib/xgboost/train.py +121 -0
- maxframe/learn/utils/__init__.py +15 -0
- maxframe/learn/utils/core.py +29 -0
- maxframe/lib/__init__.py +15 -0
- maxframe/lib/aio/__init__.py +27 -0
- maxframe/lib/aio/_runners.py +162 -0
- maxframe/lib/aio/_threads.py +35 -0
- maxframe/lib/aio/base.py +82 -0
- maxframe/lib/aio/file.py +85 -0
- maxframe/lib/aio/isolation.py +100 -0
- maxframe/lib/aio/lru.py +242 -0
- maxframe/lib/aio/parallelism.py +37 -0
- maxframe/lib/aio/tests/__init__.py +13 -0
- maxframe/lib/aio/tests/test_aio_file.py +55 -0
- maxframe/lib/compression.py +55 -0
- maxframe/lib/cython/__init__.py +13 -0
- maxframe/lib/cython/libcpp.pxd +30 -0
- maxframe/lib/filesystem/__init__.py +21 -0
- maxframe/lib/filesystem/_glob.py +173 -0
- maxframe/lib/filesystem/_oss_lib/__init__.py +13 -0
- maxframe/lib/filesystem/_oss_lib/common.py +198 -0
- maxframe/lib/filesystem/_oss_lib/glob.py +147 -0
- maxframe/lib/filesystem/_oss_lib/handle.py +156 -0
- maxframe/lib/filesystem/arrow.py +236 -0
- maxframe/lib/filesystem/base.py +263 -0
- maxframe/lib/filesystem/core.py +95 -0
- maxframe/lib/filesystem/fsmap.py +164 -0
- maxframe/lib/filesystem/hdfs.py +31 -0
- maxframe/lib/filesystem/local.py +112 -0
- maxframe/lib/filesystem/oss.py +157 -0
- maxframe/lib/filesystem/tests/__init__.py +13 -0
- maxframe/lib/filesystem/tests/test_filesystem.py +223 -0
- maxframe/lib/filesystem/tests/test_oss.py +182 -0
- maxframe/lib/functools_compat.py +81 -0
- maxframe/lib/mmh3.cpython-310-darwin.so +0 -0
- maxframe/lib/mmh3_src/MurmurHash3.cpp +339 -0
- maxframe/lib/mmh3_src/MurmurHash3.h +43 -0
- maxframe/lib/mmh3_src/mmh3module.cpp +387 -0
- maxframe/lib/sparse/__init__.py +861 -0
- maxframe/lib/sparse/array.py +1604 -0
- maxframe/lib/sparse/core.py +92 -0
- maxframe/lib/sparse/matrix.py +241 -0
- maxframe/lib/sparse/tests/__init__.py +15 -0
- maxframe/lib/sparse/tests/test_sparse.py +476 -0
- maxframe/lib/sparse/vector.py +150 -0
- maxframe/lib/tblib/LICENSE +20 -0
- maxframe/lib/tblib/__init__.py +327 -0
- maxframe/lib/tblib/cpython.py +83 -0
- maxframe/lib/tblib/decorators.py +44 -0
- maxframe/lib/tblib/pickling_support.py +90 -0
- maxframe/lib/tests/__init__.py +13 -0
- maxframe/lib/tests/test_wrapped_pickle.py +51 -0
- maxframe/lib/version.py +620 -0
- maxframe/lib/wrapped_pickle.py +139 -0
- maxframe/mixin.py +100 -0
- maxframe/odpsio/__init__.py +21 -0
- maxframe/odpsio/arrow.py +91 -0
- maxframe/odpsio/schema.py +364 -0
- maxframe/odpsio/tableio.py +322 -0
- maxframe/odpsio/tests/__init__.py +13 -0
- maxframe/odpsio/tests/test_arrow.py +88 -0
- maxframe/odpsio/tests/test_schema.py +297 -0
- maxframe/odpsio/tests/test_tableio.py +136 -0
- maxframe/odpsio/tests/test_volumeio.py +90 -0
- maxframe/odpsio/volumeio.py +95 -0
- maxframe/opcodes.py +590 -0
- maxframe/protocol.py +415 -0
- maxframe/remote/__init__.py +18 -0
- maxframe/remote/core.py +210 -0
- maxframe/remote/run_script.py +121 -0
- maxframe/serialization/__init__.py +26 -0
- maxframe/serialization/arrow.py +95 -0
- maxframe/serialization/core.cpython-310-darwin.so +0 -0
- maxframe/serialization/core.pxd +44 -0
- maxframe/serialization/core.pyi +61 -0
- maxframe/serialization/core.pyx +1094 -0
- maxframe/serialization/exception.py +86 -0
- maxframe/serialization/maxframe_objects.py +39 -0
- maxframe/serialization/numpy.py +91 -0
- maxframe/serialization/pandas.py +202 -0
- maxframe/serialization/scipy.py +71 -0
- maxframe/serialization/serializables/__init__.py +55 -0
- maxframe/serialization/serializables/core.py +262 -0
- maxframe/serialization/serializables/field.py +624 -0
- maxframe/serialization/serializables/field_type.py +589 -0
- maxframe/serialization/serializables/tests/__init__.py +13 -0
- maxframe/serialization/serializables/tests/test_field_type.py +121 -0
- maxframe/serialization/serializables/tests/test_serializable.py +250 -0
- maxframe/serialization/tests/__init__.py +13 -0
- maxframe/serialization/tests/test_serial.py +412 -0
- maxframe/session.py +1310 -0
- maxframe/tensor/__init__.py +183 -0
- maxframe/tensor/arithmetic/__init__.py +315 -0
- maxframe/tensor/arithmetic/abs.py +68 -0
- maxframe/tensor/arithmetic/absolute.py +68 -0
- maxframe/tensor/arithmetic/add.py +82 -0
- maxframe/tensor/arithmetic/angle.py +72 -0
- maxframe/tensor/arithmetic/arccos.py +104 -0
- maxframe/tensor/arithmetic/arccosh.py +91 -0
- maxframe/tensor/arithmetic/arcsin.py +94 -0
- maxframe/tensor/arithmetic/arcsinh.py +86 -0
- maxframe/tensor/arithmetic/arctan.py +106 -0
- maxframe/tensor/arithmetic/arctan2.py +128 -0
- maxframe/tensor/arithmetic/arctanh.py +86 -0
- maxframe/tensor/arithmetic/around.py +114 -0
- maxframe/tensor/arithmetic/bitand.py +95 -0
- maxframe/tensor/arithmetic/bitor.py +102 -0
- maxframe/tensor/arithmetic/bitxor.py +95 -0
- maxframe/tensor/arithmetic/cbrt.py +66 -0
- maxframe/tensor/arithmetic/ceil.py +71 -0
- maxframe/tensor/arithmetic/clip.py +165 -0
- maxframe/tensor/arithmetic/conj.py +74 -0
- maxframe/tensor/arithmetic/copysign.py +78 -0
- maxframe/tensor/arithmetic/core.py +544 -0
- maxframe/tensor/arithmetic/cos.py +85 -0
- maxframe/tensor/arithmetic/cosh.py +72 -0
- maxframe/tensor/arithmetic/deg2rad.py +72 -0
- maxframe/tensor/arithmetic/degrees.py +77 -0
- maxframe/tensor/arithmetic/divide.py +114 -0
- maxframe/tensor/arithmetic/equal.py +76 -0
- maxframe/tensor/arithmetic/exp.py +106 -0
- maxframe/tensor/arithmetic/exp2.py +67 -0
- maxframe/tensor/arithmetic/expm1.py +79 -0
- maxframe/tensor/arithmetic/fabs.py +74 -0
- maxframe/tensor/arithmetic/fix.py +69 -0
- maxframe/tensor/arithmetic/float_power.py +103 -0
- maxframe/tensor/arithmetic/floor.py +77 -0
- maxframe/tensor/arithmetic/floordiv.py +94 -0
- maxframe/tensor/arithmetic/fmax.py +105 -0
- maxframe/tensor/arithmetic/fmin.py +106 -0
- maxframe/tensor/arithmetic/fmod.py +99 -0
- maxframe/tensor/arithmetic/frexp.py +92 -0
- maxframe/tensor/arithmetic/greater.py +77 -0
- maxframe/tensor/arithmetic/greater_equal.py +69 -0
- maxframe/tensor/arithmetic/hypot.py +77 -0
- maxframe/tensor/arithmetic/i0.py +89 -0
- maxframe/tensor/arithmetic/imag.py +67 -0
- maxframe/tensor/arithmetic/invert.py +110 -0
- maxframe/tensor/arithmetic/isclose.py +115 -0
- maxframe/tensor/arithmetic/iscomplex.py +64 -0
- maxframe/tensor/arithmetic/isfinite.py +106 -0
- maxframe/tensor/arithmetic/isinf.py +103 -0
- maxframe/tensor/arithmetic/isnan.py +82 -0
- maxframe/tensor/arithmetic/isreal.py +63 -0
- maxframe/tensor/arithmetic/ldexp.py +99 -0
- maxframe/tensor/arithmetic/less.py +69 -0
- maxframe/tensor/arithmetic/less_equal.py +69 -0
- maxframe/tensor/arithmetic/log.py +92 -0
- maxframe/tensor/arithmetic/log10.py +85 -0
- maxframe/tensor/arithmetic/log1p.py +95 -0
- maxframe/tensor/arithmetic/log2.py +85 -0
- maxframe/tensor/arithmetic/logaddexp.py +80 -0
- maxframe/tensor/arithmetic/logaddexp2.py +78 -0
- maxframe/tensor/arithmetic/logical_and.py +81 -0
- maxframe/tensor/arithmetic/logical_not.py +74 -0
- maxframe/tensor/arithmetic/logical_or.py +82 -0
- maxframe/tensor/arithmetic/logical_xor.py +88 -0
- maxframe/tensor/arithmetic/lshift.py +82 -0
- maxframe/tensor/arithmetic/maximum.py +108 -0
- maxframe/tensor/arithmetic/minimum.py +108 -0
- maxframe/tensor/arithmetic/mod.py +104 -0
- maxframe/tensor/arithmetic/modf.py +83 -0
- maxframe/tensor/arithmetic/multiply.py +81 -0
- maxframe/tensor/arithmetic/nan_to_num.py +99 -0
- maxframe/tensor/arithmetic/negative.py +65 -0
- maxframe/tensor/arithmetic/nextafter.py +68 -0
- maxframe/tensor/arithmetic/not_equal.py +72 -0
- maxframe/tensor/arithmetic/positive.py +47 -0
- maxframe/tensor/arithmetic/power.py +106 -0
- maxframe/tensor/arithmetic/rad2deg.py +71 -0
- maxframe/tensor/arithmetic/radians.py +77 -0
- maxframe/tensor/arithmetic/real.py +70 -0
- maxframe/tensor/arithmetic/reciprocal.py +76 -0
- maxframe/tensor/arithmetic/rint.py +68 -0
- maxframe/tensor/arithmetic/rshift.py +81 -0
- maxframe/tensor/arithmetic/setimag.py +29 -0
- maxframe/tensor/arithmetic/setreal.py +29 -0
- maxframe/tensor/arithmetic/sign.py +81 -0
- maxframe/tensor/arithmetic/signbit.py +65 -0
- maxframe/tensor/arithmetic/sin.py +98 -0
- maxframe/tensor/arithmetic/sinc.py +102 -0
- maxframe/tensor/arithmetic/sinh.py +93 -0
- maxframe/tensor/arithmetic/spacing.py +72 -0
- maxframe/tensor/arithmetic/sqrt.py +81 -0
- maxframe/tensor/arithmetic/square.py +69 -0
- maxframe/tensor/arithmetic/subtract.py +81 -0
- maxframe/tensor/arithmetic/tan.py +88 -0
- maxframe/tensor/arithmetic/tanh.py +92 -0
- maxframe/tensor/arithmetic/tests/__init__.py +15 -0
- maxframe/tensor/arithmetic/tests/test_arithmetic.py +414 -0
- maxframe/tensor/arithmetic/truediv.py +104 -0
- maxframe/tensor/arithmetic/trunc.py +72 -0
- maxframe/tensor/arithmetic/utils.py +65 -0
- maxframe/tensor/array_utils.py +186 -0
- maxframe/tensor/base/__init__.py +34 -0
- maxframe/tensor/base/astype.py +119 -0
- maxframe/tensor/base/atleast_1d.py +74 -0
- maxframe/tensor/base/broadcast_to.py +89 -0
- maxframe/tensor/base/ravel.py +92 -0
- maxframe/tensor/base/tests/__init__.py +13 -0
- maxframe/tensor/base/tests/test_base.py +114 -0
- maxframe/tensor/base/transpose.py +125 -0
- maxframe/tensor/base/unique.py +205 -0
- maxframe/tensor/base/where.py +127 -0
- maxframe/tensor/core.py +724 -0
- maxframe/tensor/datasource/__init__.py +32 -0
- maxframe/tensor/datasource/arange.py +156 -0
- maxframe/tensor/datasource/array.py +415 -0
- maxframe/tensor/datasource/core.py +109 -0
- maxframe/tensor/datasource/empty.py +169 -0
- maxframe/tensor/datasource/from_dataframe.py +70 -0
- maxframe/tensor/datasource/from_dense.py +54 -0
- maxframe/tensor/datasource/from_sparse.py +47 -0
- maxframe/tensor/datasource/full.py +186 -0
- maxframe/tensor/datasource/ones.py +173 -0
- maxframe/tensor/datasource/scalar.py +40 -0
- maxframe/tensor/datasource/tests/__init__.py +13 -0
- maxframe/tensor/datasource/tests/test_datasource.py +278 -0
- maxframe/tensor/datasource/zeros.py +188 -0
- maxframe/tensor/fetch/__init__.py +15 -0
- maxframe/tensor/fetch/core.py +54 -0
- maxframe/tensor/indexing/__init__.py +47 -0
- maxframe/tensor/indexing/choose.py +196 -0
- maxframe/tensor/indexing/compress.py +124 -0
- maxframe/tensor/indexing/core.py +190 -0
- maxframe/tensor/indexing/extract.py +71 -0
- maxframe/tensor/indexing/fill_diagonal.py +183 -0
- maxframe/tensor/indexing/flatnonzero.py +60 -0
- maxframe/tensor/indexing/getitem.py +175 -0
- maxframe/tensor/indexing/nonzero.py +120 -0
- maxframe/tensor/indexing/setitem.py +132 -0
- maxframe/tensor/indexing/slice.py +29 -0
- maxframe/tensor/indexing/take.py +130 -0
- maxframe/tensor/indexing/tests/__init__.py +15 -0
- maxframe/tensor/indexing/tests/test_indexing.py +234 -0
- maxframe/tensor/indexing/unravel_index.py +103 -0
- maxframe/tensor/merge/__init__.py +15 -0
- maxframe/tensor/merge/stack.py +132 -0
- maxframe/tensor/merge/tests/__init__.py +13 -0
- maxframe/tensor/merge/tests/test_merge.py +52 -0
- maxframe/tensor/operators.py +123 -0
- maxframe/tensor/random/__init__.py +168 -0
- maxframe/tensor/random/beta.py +87 -0
- maxframe/tensor/random/binomial.py +137 -0
- maxframe/tensor/random/bytes.py +39 -0
- maxframe/tensor/random/chisquare.py +110 -0
- maxframe/tensor/random/choice.py +186 -0
- maxframe/tensor/random/core.py +234 -0
- maxframe/tensor/random/dirichlet.py +123 -0
- maxframe/tensor/random/exponential.py +94 -0
- maxframe/tensor/random/f.py +135 -0
- maxframe/tensor/random/gamma.py +128 -0
- maxframe/tensor/random/geometric.py +93 -0
- maxframe/tensor/random/gumbel.py +167 -0
- maxframe/tensor/random/hypergeometric.py +148 -0
- maxframe/tensor/random/laplace.py +133 -0
- maxframe/tensor/random/logistic.py +129 -0
- maxframe/tensor/random/lognormal.py +159 -0
- maxframe/tensor/random/logseries.py +122 -0
- maxframe/tensor/random/multinomial.py +133 -0
- maxframe/tensor/random/multivariate_normal.py +192 -0
- maxframe/tensor/random/negative_binomial.py +125 -0
- maxframe/tensor/random/noncentral_chisquare.py +132 -0
- maxframe/tensor/random/noncentral_f.py +126 -0
- maxframe/tensor/random/normal.py +143 -0
- maxframe/tensor/random/pareto.py +140 -0
- maxframe/tensor/random/permutation.py +104 -0
- maxframe/tensor/random/poisson.py +111 -0
- maxframe/tensor/random/power.py +142 -0
- maxframe/tensor/random/rand.py +82 -0
- maxframe/tensor/random/randint.py +121 -0
- maxframe/tensor/random/randn.py +96 -0
- maxframe/tensor/random/random_integers.py +123 -0
- maxframe/tensor/random/random_sample.py +86 -0
- maxframe/tensor/random/rayleigh.py +110 -0
- maxframe/tensor/random/shuffle.py +61 -0
- maxframe/tensor/random/standard_cauchy.py +105 -0
- maxframe/tensor/random/standard_exponential.py +72 -0
- maxframe/tensor/random/standard_gamma.py +120 -0
- maxframe/tensor/random/standard_normal.py +74 -0
- maxframe/tensor/random/standard_t.py +135 -0
- maxframe/tensor/random/tests/__init__.py +15 -0
- maxframe/tensor/random/tests/test_random.py +167 -0
- maxframe/tensor/random/triangular.py +119 -0
- maxframe/tensor/random/uniform.py +131 -0
- maxframe/tensor/random/vonmises.py +131 -0
- maxframe/tensor/random/wald.py +114 -0
- maxframe/tensor/random/weibull.py +140 -0
- maxframe/tensor/random/zipf.py +122 -0
- maxframe/tensor/rechunk/__init__.py +26 -0
- maxframe/tensor/rechunk/rechunk.py +43 -0
- maxframe/tensor/reduction/__init__.py +66 -0
- maxframe/tensor/reduction/all.py +103 -0
- maxframe/tensor/reduction/allclose.py +88 -0
- maxframe/tensor/reduction/any.py +105 -0
- maxframe/tensor/reduction/argmax.py +103 -0
- maxframe/tensor/reduction/argmin.py +103 -0
- maxframe/tensor/reduction/array_equal.py +64 -0
- maxframe/tensor/reduction/core.py +168 -0
- maxframe/tensor/reduction/count_nonzero.py +81 -0
- maxframe/tensor/reduction/cumprod.py +97 -0
- maxframe/tensor/reduction/cumsum.py +101 -0
- maxframe/tensor/reduction/max.py +120 -0
- maxframe/tensor/reduction/mean.py +123 -0
- maxframe/tensor/reduction/min.py +120 -0
- maxframe/tensor/reduction/nanargmax.py +82 -0
- maxframe/tensor/reduction/nanargmin.py +76 -0
- maxframe/tensor/reduction/nancumprod.py +91 -0
- maxframe/tensor/reduction/nancumsum.py +94 -0
- maxframe/tensor/reduction/nanmax.py +111 -0
- maxframe/tensor/reduction/nanmean.py +106 -0
- maxframe/tensor/reduction/nanmin.py +111 -0
- maxframe/tensor/reduction/nanprod.py +94 -0
- maxframe/tensor/reduction/nanstd.py +126 -0
- maxframe/tensor/reduction/nansum.py +115 -0
- maxframe/tensor/reduction/nanvar.py +149 -0
- maxframe/tensor/reduction/prod.py +130 -0
- maxframe/tensor/reduction/std.py +134 -0
- maxframe/tensor/reduction/sum.py +125 -0
- maxframe/tensor/reduction/tests/__init__.py +13 -0
- maxframe/tensor/reduction/tests/test_reduction.py +181 -0
- maxframe/tensor/reduction/var.py +176 -0
- maxframe/tensor/reshape/__init__.py +17 -0
- maxframe/tensor/reshape/reshape.py +188 -0
- maxframe/tensor/reshape/tests/__init__.py +15 -0
- maxframe/tensor/reshape/tests/test_reshape.py +37 -0
- maxframe/tensor/statistics/__init__.py +13 -0
- maxframe/tensor/statistics/percentile.py +175 -0
- maxframe/tensor/statistics/quantile.py +288 -0
- maxframe/tensor/ufunc/__init__.py +26 -0
- maxframe/tensor/ufunc/ufunc.py +200 -0
- maxframe/tensor/utils.py +718 -0
- maxframe/tests/__init__.py +13 -0
- maxframe/tests/test_codegen.py +69 -0
- maxframe/tests/test_protocol.py +144 -0
- maxframe/tests/test_utils.py +376 -0
- maxframe/tests/utils.py +164 -0
- maxframe/typing_.py +37 -0
- maxframe/udf.py +134 -0
- maxframe/utils.py +1114 -0
- maxframe-0.1.0b5.dist-info/METADATA +104 -0
- maxframe-0.1.0b5.dist-info/RECORD +647 -0
- maxframe-0.1.0b5.dist-info/WHEEL +5 -0
- maxframe-0.1.0b5.dist-info/top_level.txt +3 -0
- maxframe_client/__init__.py +17 -0
- maxframe_client/clients/__init__.py +13 -0
- maxframe_client/clients/framedriver.py +118 -0
- maxframe_client/clients/spe.py +104 -0
- maxframe_client/conftest.py +15 -0
- maxframe_client/fetcher.py +264 -0
- maxframe_client/session/__init__.py +22 -0
- maxframe_client/session/consts.py +36 -0
- maxframe_client/session/graph.py +119 -0
- maxframe_client/session/odps.py +482 -0
- maxframe_client/session/task.py +280 -0
- maxframe_client/session/tests/__init__.py +13 -0
- maxframe_client/session/tests/test_task.py +85 -0
- maxframe_client/tests/__init__.py +13 -0
- maxframe_client/tests/test_fetcher.py +89 -0
- maxframe_client/tests/test_session.py +255 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
import pytest
|
|
16
|
+
|
|
17
|
+
from .. import enter_mode, is_build_mode, is_eager_mode, is_kernel_mode
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_enter_mode():
|
|
21
|
+
from ...config import option_context, options
|
|
22
|
+
|
|
23
|
+
@enter_mode(kernel=True)
|
|
24
|
+
def wrapped():
|
|
25
|
+
return is_eager_mode()
|
|
26
|
+
|
|
27
|
+
assert options.execution_mode != "eager"
|
|
28
|
+
assert not wrapped()
|
|
29
|
+
|
|
30
|
+
with option_context({"execution_mode": "eager"}):
|
|
31
|
+
assert options.execution_mode == "eager"
|
|
32
|
+
assert not wrapped()
|
|
33
|
+
|
|
34
|
+
@enter_mode(kernel=True)
|
|
35
|
+
def wrapped2():
|
|
36
|
+
wrapped()
|
|
37
|
+
with option_context({"execution_mode": "eager"}):
|
|
38
|
+
assert options.execution_mode == "eager"
|
|
39
|
+
assert not is_eager_mode()
|
|
40
|
+
with enter_mode(kernel=False):
|
|
41
|
+
assert not is_kernel_mode()
|
|
42
|
+
assert is_kernel_mode()
|
|
43
|
+
|
|
44
|
+
wrapped2()
|
|
45
|
+
|
|
46
|
+
assert not is_kernel_mode()
|
|
47
|
+
assert not is_build_mode()
|
|
48
|
+
|
|
49
|
+
@enter_mode(kernel=False)
|
|
50
|
+
def wrapped3():
|
|
51
|
+
wrapped()
|
|
52
|
+
with option_context({"execution_mode": "trigger"}):
|
|
53
|
+
assert options.execution_mode == "trigger"
|
|
54
|
+
assert not is_kernel_mode()
|
|
55
|
+
with enter_mode(kernel=True, build=True):
|
|
56
|
+
assert is_kernel_mode()
|
|
57
|
+
assert is_build_mode()
|
|
58
|
+
assert not is_kernel_mode()
|
|
59
|
+
assert not is_build_mode()
|
|
60
|
+
with pytest.raises(ValueError):
|
|
61
|
+
with enter_mode(kernel=True, build=True):
|
|
62
|
+
raise ValueError("meant to raise error")
|
|
63
|
+
assert not is_kernel_mode()
|
|
64
|
+
assert not is_build_mode()
|
|
65
|
+
|
|
66
|
+
@enter_mode(kernel=True)
|
|
67
|
+
def wrapped4():
|
|
68
|
+
raise ValueError("meant to raise error")
|
|
69
|
+
|
|
70
|
+
with pytest.raises(ValueError):
|
|
71
|
+
wrapped4()
|
|
72
|
+
assert not is_kernel_mode()
|
|
73
|
+
assert not is_build_mode()
|
|
74
|
+
|
|
75
|
+
wrapped3()
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from . import (
|
|
16
|
+
arithmetic,
|
|
17
|
+
datasource,
|
|
18
|
+
datastore,
|
|
19
|
+
extensions,
|
|
20
|
+
fetch,
|
|
21
|
+
groupby,
|
|
22
|
+
indexing,
|
|
23
|
+
misc,
|
|
24
|
+
missing,
|
|
25
|
+
plotting,
|
|
26
|
+
reduction,
|
|
27
|
+
sort,
|
|
28
|
+
statistics,
|
|
29
|
+
tseries,
|
|
30
|
+
ufunc,
|
|
31
|
+
window,
|
|
32
|
+
)
|
|
33
|
+
from .datasource.date_range import date_range
|
|
34
|
+
from .datasource.from_index import series_from_index
|
|
35
|
+
from .datasource.from_records import from_records
|
|
36
|
+
from .datasource.from_tensor import dataframe_from_tensor, series_from_tensor
|
|
37
|
+
from .datasource.read_csv import read_csv
|
|
38
|
+
from .datasource.read_odps_query import read_odps_query
|
|
39
|
+
from .datasource.read_odps_table import read_odps_table
|
|
40
|
+
from .datasource.read_parquet import read_parquet
|
|
41
|
+
from .datastore.to_odps import to_odps_table
|
|
42
|
+
from .groupby import NamedAgg
|
|
43
|
+
from .initializer import DataFrame, Index, Series, read_pandas
|
|
44
|
+
from .merge import concat, merge
|
|
45
|
+
from .misc.cut import cut
|
|
46
|
+
from .misc.eval import maxframe_eval as eval # pylint: disable=redefined-builtin
|
|
47
|
+
from .misc.get_dummies import get_dummies
|
|
48
|
+
from .misc.melt import melt
|
|
49
|
+
from .misc.pivot_table import pivot_table
|
|
50
|
+
from .misc.qcut import qcut
|
|
51
|
+
from .misc.to_numeric import to_numeric
|
|
52
|
+
from .missing import isna, isnull, notna, notnull
|
|
53
|
+
from .reduction import CustomReduction, unique
|
|
54
|
+
from .tseries.to_datetime import to_datetime
|
|
55
|
+
|
|
56
|
+
try:
|
|
57
|
+
from pandas import NA, Timestamp
|
|
58
|
+
except ImportError: # pragma: no cover
|
|
59
|
+
pass
|
|
60
|
+
|
|
61
|
+
try:
|
|
62
|
+
from . import _internal
|
|
63
|
+
except ImportError: # pragma: no cover
|
|
64
|
+
pass
|
|
65
|
+
|
|
66
|
+
del (
|
|
67
|
+
arithmetic,
|
|
68
|
+
datasource,
|
|
69
|
+
datastore,
|
|
70
|
+
extensions,
|
|
71
|
+
fetch,
|
|
72
|
+
groupby,
|
|
73
|
+
indexing,
|
|
74
|
+
plotting,
|
|
75
|
+
reduction,
|
|
76
|
+
sort,
|
|
77
|
+
tseries,
|
|
78
|
+
ufunc,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
from_pandas = read_pandas
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
import functools
|
|
16
|
+
|
|
17
|
+
import pandas as pd
|
|
18
|
+
|
|
19
|
+
try:
|
|
20
|
+
from pandas.core.arraylike import OpsMixin as PdOpsMixin
|
|
21
|
+
except ImportError: # pragma: no cover
|
|
22
|
+
PdOpsMixin = None
|
|
23
|
+
|
|
24
|
+
from .abs import DataFrameAbs, abs_
|
|
25
|
+
from .add import DataFrameAdd, add, radd
|
|
26
|
+
from .arccos import DataFrameArccos
|
|
27
|
+
from .arccosh import DataFrameArccosh
|
|
28
|
+
from .arcsin import DataFrameArcsin
|
|
29
|
+
from .arcsinh import DataFrameArcsinh
|
|
30
|
+
from .arctan import DataFrameArctan
|
|
31
|
+
from .arctanh import DataFrameArctanh
|
|
32
|
+
from .around import DataFrameAround, around
|
|
33
|
+
from .bitwise_and import DataFrameAnd, bitand, rbitand
|
|
34
|
+
from .bitwise_or import DataFrameOr, bitor, rbitor
|
|
35
|
+
from .bitwise_xor import DataFrameXor, bitxor, rbitxor
|
|
36
|
+
from .ceil import DataFrameCeil
|
|
37
|
+
from .cos import DataFrameCos
|
|
38
|
+
from .cosh import DataFrameCosh
|
|
39
|
+
from .degrees import DataFrameDegrees
|
|
40
|
+
from .equal import DataFrameEqual, eq
|
|
41
|
+
from .exp import DataFrameExp
|
|
42
|
+
from .exp2 import DataFrameExp2
|
|
43
|
+
from .expm1 import DataFrameExpm1
|
|
44
|
+
from .floor import DataFrameFloor
|
|
45
|
+
from .floordiv import DataFrameFloorDiv, floordiv, rfloordiv
|
|
46
|
+
from .greater import DataFrameGreater, gt
|
|
47
|
+
from .greater_equal import DataFrameGreaterEqual, ge
|
|
48
|
+
from .invert import DataFrameNot, invert
|
|
49
|
+
from .is_ufuncs import DataFrameIsFinite, DataFrameIsInf, DataFrameIsNan
|
|
50
|
+
from .less import DataFrameLess, lt
|
|
51
|
+
from .less_equal import DataFrameLessEqual, le
|
|
52
|
+
from .log import DataFrameLog
|
|
53
|
+
from .log2 import DataFrameLog2
|
|
54
|
+
from .log10 import DataFrameLog10
|
|
55
|
+
from .mod import DataFrameMod, mod, rmod
|
|
56
|
+
from .multiply import DataFrameMul, mul, rmul
|
|
57
|
+
from .negative import DataFrameNegative, negative
|
|
58
|
+
from .not_equal import DataFrameNotEqual, ne
|
|
59
|
+
from .power import DataFramePower, power, rpower
|
|
60
|
+
from .radians import DataFrameRadians
|
|
61
|
+
from .sin import DataFrameSin
|
|
62
|
+
from .sinh import DataFrameSinh
|
|
63
|
+
from .sqrt import DataFrameSqrt
|
|
64
|
+
from .subtract import DataFrameSubtract, rsubtract, subtract
|
|
65
|
+
from .tan import DataFrameTan
|
|
66
|
+
from .tanh import DataFrameTanh
|
|
67
|
+
from .truediv import DataFrameTrueDiv, rtruediv, truediv
|
|
68
|
+
from .trunc import DataFrameTrunc
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def _wrap_eq():
|
|
72
|
+
@functools.wraps(eq)
|
|
73
|
+
def call(df, other, **kw):
|
|
74
|
+
from ..core import is_build_mode
|
|
75
|
+
|
|
76
|
+
if is_build_mode():
|
|
77
|
+
return df._equals(other)
|
|
78
|
+
return _wrap_comparison(eq)(df, other, **kw)
|
|
79
|
+
|
|
80
|
+
return call
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def _wrap_comparison(func):
|
|
84
|
+
@functools.wraps(func)
|
|
85
|
+
def call(df, other, **kw):
|
|
86
|
+
from ..core import DATAFRAME_TYPE
|
|
87
|
+
from ..utils import wrap_notimplemented_exception
|
|
88
|
+
|
|
89
|
+
if isinstance(df, DATAFRAME_TYPE) and isinstance(other, DATAFRAME_TYPE):
|
|
90
|
+
# index and columns should be identical
|
|
91
|
+
for index_type in ["index_value", "columns_value"]:
|
|
92
|
+
left, right = getattr(df, index_type), getattr(other, index_type)
|
|
93
|
+
if left.has_value() and right.has_value():
|
|
94
|
+
# if df and other's index or columns has value
|
|
95
|
+
index_eq = left.to_pandas().equals(right.to_pandas())
|
|
96
|
+
else:
|
|
97
|
+
index_eq = left.key == right.key
|
|
98
|
+
if not index_eq:
|
|
99
|
+
raise ValueError(
|
|
100
|
+
"Can only compare identically-labeled DataFrame object"
|
|
101
|
+
)
|
|
102
|
+
return wrap_notimplemented_exception(func)(df, other, **kw)
|
|
103
|
+
|
|
104
|
+
return call
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
_reverse_magic_names = {
|
|
108
|
+
"eq": "eq",
|
|
109
|
+
"ne": "ne",
|
|
110
|
+
"lt": "ge",
|
|
111
|
+
"le": "gt",
|
|
112
|
+
"gt": "le",
|
|
113
|
+
"ge": "lt",
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
def _wrap_pandas_magics(cls, magic_name: str):
|
|
118
|
+
magic_func_name = f"__{magic_name}__"
|
|
119
|
+
magic_rfunc_name = _reverse_magic_names.get(magic_name, f"__r{magic_name}__")
|
|
120
|
+
try:
|
|
121
|
+
raw_method = getattr(cls, magic_func_name)
|
|
122
|
+
except AttributeError:
|
|
123
|
+
return
|
|
124
|
+
|
|
125
|
+
@functools.wraps(raw_method)
|
|
126
|
+
def wrapped(self, other):
|
|
127
|
+
from ..core import DATAFRAME_TYPE, INDEX_TYPE, SERIES_TYPE
|
|
128
|
+
|
|
129
|
+
if not isinstance(other, (DATAFRAME_TYPE, SERIES_TYPE, INDEX_TYPE)):
|
|
130
|
+
return raw_method(self, other)
|
|
131
|
+
|
|
132
|
+
try:
|
|
133
|
+
val = getattr(other, magic_rfunc_name)(self)
|
|
134
|
+
except AttributeError: # pragma: no cover
|
|
135
|
+
return raw_method(self, other)
|
|
136
|
+
|
|
137
|
+
if val is NotImplemented: # pragma: no cover
|
|
138
|
+
return raw_method(self, other)
|
|
139
|
+
return val
|
|
140
|
+
|
|
141
|
+
setattr(cls, magic_func_name, wrapped)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def _install():
|
|
145
|
+
from ..core import DATAFRAME_TYPE, INDEX_TYPE, SERIES_TYPE
|
|
146
|
+
from ..ufunc.tensor import register_tensor_ufunc
|
|
147
|
+
from ..utils import wrap_notimplemented_exception
|
|
148
|
+
|
|
149
|
+
def _register_method(cls, name, func, wrapper=None):
|
|
150
|
+
from ..core import DATAFRAME_TYPE, SERIES_TYPE
|
|
151
|
+
|
|
152
|
+
if wrapper is None:
|
|
153
|
+
|
|
154
|
+
@functools.wraps(func)
|
|
155
|
+
def wrapper(df, *args, **kwargs):
|
|
156
|
+
return func(df, *args, **kwargs)
|
|
157
|
+
|
|
158
|
+
try:
|
|
159
|
+
if issubclass(cls, DATAFRAME_TYPE):
|
|
160
|
+
wrapper.__doc__ = func.__frame_doc__
|
|
161
|
+
elif issubclass(cls, SERIES_TYPE):
|
|
162
|
+
wrapper.__doc__ = func.__series_doc__
|
|
163
|
+
else:
|
|
164
|
+
wrapper = func
|
|
165
|
+
except AttributeError:
|
|
166
|
+
wrapper = func
|
|
167
|
+
|
|
168
|
+
wrapper.__name__ = func.__name__
|
|
169
|
+
setattr(cls, name, wrapper)
|
|
170
|
+
|
|
171
|
+
def _register_bin_method(cls, name, func):
|
|
172
|
+
def call_df_fill(df, other, axis="columns", level=None, fill_value=None):
|
|
173
|
+
return func(df, other, axis=axis, level=level, fill_value=fill_value)
|
|
174
|
+
|
|
175
|
+
def call_df_no_fill(df, other, axis="columns", level=None):
|
|
176
|
+
return func(df, other, axis=axis, level=level)
|
|
177
|
+
|
|
178
|
+
def call_series_fill(df, other, level=None, fill_value=None, axis=0):
|
|
179
|
+
return func(df, other, axis=axis, level=level, fill_value=fill_value)
|
|
180
|
+
|
|
181
|
+
def call_series_no_fill(df, other, level=None, axis=0):
|
|
182
|
+
return func(df, other, axis=axis, level=level)
|
|
183
|
+
|
|
184
|
+
if issubclass(cls, DATAFRAME_TYPE):
|
|
185
|
+
call = (
|
|
186
|
+
call_df_fill
|
|
187
|
+
if "fill_value" in func.__code__.co_varnames
|
|
188
|
+
else call_df_no_fill
|
|
189
|
+
)
|
|
190
|
+
elif issubclass(cls, SERIES_TYPE):
|
|
191
|
+
call = (
|
|
192
|
+
call_series_fill
|
|
193
|
+
if "fill_value" in func.__code__.co_varnames
|
|
194
|
+
else call_series_no_fill
|
|
195
|
+
)
|
|
196
|
+
else:
|
|
197
|
+
call = None
|
|
198
|
+
return _register_method(cls, name, func, wrapper=call)
|
|
199
|
+
|
|
200
|
+
# register maxframe tensor ufuncs
|
|
201
|
+
ufunc_ops = [
|
|
202
|
+
# unary
|
|
203
|
+
DataFrameAbs,
|
|
204
|
+
DataFrameLog,
|
|
205
|
+
DataFrameLog2,
|
|
206
|
+
DataFrameLog10,
|
|
207
|
+
DataFrameSin,
|
|
208
|
+
DataFrameCos,
|
|
209
|
+
DataFrameTan,
|
|
210
|
+
DataFrameSinh,
|
|
211
|
+
DataFrameCosh,
|
|
212
|
+
DataFrameTanh,
|
|
213
|
+
DataFrameArcsin,
|
|
214
|
+
DataFrameArccos,
|
|
215
|
+
DataFrameArctan,
|
|
216
|
+
DataFrameArcsinh,
|
|
217
|
+
DataFrameArccosh,
|
|
218
|
+
DataFrameArctanh,
|
|
219
|
+
DataFrameRadians,
|
|
220
|
+
DataFrameDegrees,
|
|
221
|
+
DataFrameCeil,
|
|
222
|
+
DataFrameFloor,
|
|
223
|
+
DataFrameAround,
|
|
224
|
+
DataFrameExp,
|
|
225
|
+
DataFrameExp2,
|
|
226
|
+
DataFrameExpm1,
|
|
227
|
+
DataFrameSqrt,
|
|
228
|
+
DataFrameNot,
|
|
229
|
+
DataFrameIsNan,
|
|
230
|
+
DataFrameIsInf,
|
|
231
|
+
DataFrameIsFinite,
|
|
232
|
+
DataFrameNegative,
|
|
233
|
+
DataFrameTrunc,
|
|
234
|
+
# binary
|
|
235
|
+
DataFrameAdd,
|
|
236
|
+
DataFrameEqual,
|
|
237
|
+
DataFrameFloorDiv,
|
|
238
|
+
DataFrameGreater,
|
|
239
|
+
DataFrameGreaterEqual,
|
|
240
|
+
DataFrameLess,
|
|
241
|
+
DataFrameLessEqual,
|
|
242
|
+
DataFrameAnd,
|
|
243
|
+
DataFrameOr,
|
|
244
|
+
DataFrameXor,
|
|
245
|
+
DataFrameMod,
|
|
246
|
+
DataFrameMul,
|
|
247
|
+
DataFrameNotEqual,
|
|
248
|
+
DataFramePower,
|
|
249
|
+
DataFrameSubtract,
|
|
250
|
+
DataFrameTrueDiv,
|
|
251
|
+
]
|
|
252
|
+
for ufunc_op in ufunc_ops:
|
|
253
|
+
register_tensor_ufunc(ufunc_op)
|
|
254
|
+
|
|
255
|
+
for entity in DATAFRAME_TYPE + SERIES_TYPE:
|
|
256
|
+
setattr(entity, "__abs__", abs_)
|
|
257
|
+
setattr(entity, "abs", abs_)
|
|
258
|
+
_register_method(entity, "round", around)
|
|
259
|
+
setattr(entity, "__invert__", invert)
|
|
260
|
+
|
|
261
|
+
setattr(entity, "__add__", wrap_notimplemented_exception(add))
|
|
262
|
+
setattr(entity, "__radd__", wrap_notimplemented_exception(radd))
|
|
263
|
+
_register_bin_method(entity, "add", add)
|
|
264
|
+
_register_bin_method(entity, "radd", radd)
|
|
265
|
+
|
|
266
|
+
setattr(entity, "__sub__", wrap_notimplemented_exception(subtract))
|
|
267
|
+
setattr(entity, "__rsub__", wrap_notimplemented_exception(rsubtract))
|
|
268
|
+
_register_bin_method(entity, "sub", subtract)
|
|
269
|
+
_register_bin_method(entity, "rsub", rsubtract)
|
|
270
|
+
|
|
271
|
+
setattr(entity, "__mul__", wrap_notimplemented_exception(mul))
|
|
272
|
+
setattr(entity, "__rmul__", wrap_notimplemented_exception(rmul))
|
|
273
|
+
_register_bin_method(entity, "mul", mul)
|
|
274
|
+
_register_bin_method(entity, "multiply", mul)
|
|
275
|
+
_register_bin_method(entity, "rmul", rmul)
|
|
276
|
+
|
|
277
|
+
setattr(entity, "__floordiv__", wrap_notimplemented_exception(floordiv))
|
|
278
|
+
setattr(entity, "__rfloordiv__", wrap_notimplemented_exception(rfloordiv))
|
|
279
|
+
setattr(entity, "__truediv__", wrap_notimplemented_exception(truediv))
|
|
280
|
+
setattr(entity, "__rtruediv__", wrap_notimplemented_exception(rtruediv))
|
|
281
|
+
setattr(entity, "__div__", wrap_notimplemented_exception(truediv))
|
|
282
|
+
setattr(entity, "__rdiv__", wrap_notimplemented_exception(rtruediv))
|
|
283
|
+
_register_bin_method(entity, "floordiv", floordiv)
|
|
284
|
+
_register_bin_method(entity, "rfloordiv", rfloordiv)
|
|
285
|
+
_register_bin_method(entity, "truediv", truediv)
|
|
286
|
+
_register_bin_method(entity, "rtruediv", rtruediv)
|
|
287
|
+
_register_bin_method(entity, "div", truediv)
|
|
288
|
+
_register_bin_method(entity, "rdiv", rtruediv)
|
|
289
|
+
|
|
290
|
+
setattr(entity, "__mod__", wrap_notimplemented_exception(mod))
|
|
291
|
+
setattr(entity, "__rmod__", wrap_notimplemented_exception(rmod))
|
|
292
|
+
_register_bin_method(entity, "mod", mod)
|
|
293
|
+
_register_bin_method(entity, "rmod", rmod)
|
|
294
|
+
|
|
295
|
+
setattr(entity, "__pow__", wrap_notimplemented_exception(power))
|
|
296
|
+
setattr(entity, "__rpow__", wrap_notimplemented_exception(rpower))
|
|
297
|
+
_register_bin_method(entity, "pow", power)
|
|
298
|
+
_register_bin_method(entity, "rpow", rpower)
|
|
299
|
+
|
|
300
|
+
setattr(entity, "__eq__", _wrap_eq())
|
|
301
|
+
setattr(entity, "__ne__", _wrap_comparison(ne))
|
|
302
|
+
setattr(entity, "__lt__", _wrap_comparison(lt))
|
|
303
|
+
setattr(entity, "__gt__", _wrap_comparison(gt))
|
|
304
|
+
setattr(entity, "__ge__", _wrap_comparison(ge))
|
|
305
|
+
setattr(entity, "__le__", _wrap_comparison(le))
|
|
306
|
+
_register_bin_method(entity, "eq", eq)
|
|
307
|
+
_register_bin_method(entity, "ne", ne)
|
|
308
|
+
_register_bin_method(entity, "lt", lt)
|
|
309
|
+
_register_bin_method(entity, "gt", gt)
|
|
310
|
+
_register_bin_method(entity, "ge", ge)
|
|
311
|
+
_register_bin_method(entity, "le", le)
|
|
312
|
+
|
|
313
|
+
setattr(entity, "__and__", wrap_notimplemented_exception(bitand))
|
|
314
|
+
setattr(entity, "__rand__", wrap_notimplemented_exception(rbitand))
|
|
315
|
+
|
|
316
|
+
setattr(entity, "__or__", wrap_notimplemented_exception(bitor))
|
|
317
|
+
setattr(entity, "__ror__", wrap_notimplemented_exception(rbitor))
|
|
318
|
+
|
|
319
|
+
setattr(entity, "__xor__", wrap_notimplemented_exception(bitxor))
|
|
320
|
+
setattr(entity, "__rxor__", wrap_notimplemented_exception(rbitxor))
|
|
321
|
+
|
|
322
|
+
setattr(entity, "__neg__", wrap_notimplemented_exception(negative))
|
|
323
|
+
|
|
324
|
+
for entity in INDEX_TYPE:
|
|
325
|
+
setattr(entity, "__eq__", _wrap_eq())
|
|
326
|
+
|
|
327
|
+
if PdOpsMixin is not None and not hasattr(
|
|
328
|
+
pd, "_maxframe_df_arith_wrapped"
|
|
329
|
+
): # pragma: no branch
|
|
330
|
+
# wrap pandas magic functions to intercept reverse operators
|
|
331
|
+
for magic_name in [
|
|
332
|
+
"add",
|
|
333
|
+
"sub",
|
|
334
|
+
"mul",
|
|
335
|
+
"div",
|
|
336
|
+
"truediv",
|
|
337
|
+
"floordiv",
|
|
338
|
+
"mod",
|
|
339
|
+
"pow",
|
|
340
|
+
"and",
|
|
341
|
+
"or",
|
|
342
|
+
"xor",
|
|
343
|
+
"eq",
|
|
344
|
+
"ne",
|
|
345
|
+
"lt",
|
|
346
|
+
"le",
|
|
347
|
+
"gt",
|
|
348
|
+
"ge",
|
|
349
|
+
]:
|
|
350
|
+
_wrap_pandas_magics(PdOpsMixin, magic_name)
|
|
351
|
+
|
|
352
|
+
for pd_cls in (pd.DataFrame, pd.Series):
|
|
353
|
+
_wrap_pandas_magics(pd_cls, "matmul")
|
|
354
|
+
|
|
355
|
+
pd._maxframe_df_arith_wrapped = True
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
_install()
|
|
359
|
+
del _install
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from ... import opcodes
|
|
16
|
+
from ...utils import classproperty
|
|
17
|
+
from .core import DataFrameUnaryUfunc
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class DataFrameAbs(DataFrameUnaryUfunc):
|
|
21
|
+
_op_type_ = opcodes.ABS
|
|
22
|
+
_func_name = "abs"
|
|
23
|
+
|
|
24
|
+
@classproperty
|
|
25
|
+
def tensor_op_type(self):
|
|
26
|
+
from ...tensor.arithmetic import TensorAbsolute
|
|
27
|
+
|
|
28
|
+
return TensorAbsolute
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def abs_(df):
|
|
32
|
+
op = DataFrameAbs()
|
|
33
|
+
return op(df)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
import operator
|
|
16
|
+
|
|
17
|
+
from ... import opcodes
|
|
18
|
+
from ...utils import classproperty
|
|
19
|
+
from .core import DataFrameBinopUfunc
|
|
20
|
+
from .docstring import bin_arithmetic_doc
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class DataFrameAdd(DataFrameBinopUfunc):
|
|
24
|
+
_op_type_ = opcodes.ADD
|
|
25
|
+
|
|
26
|
+
_func_name = "add"
|
|
27
|
+
_rfunc_name = "radd"
|
|
28
|
+
|
|
29
|
+
@classproperty
|
|
30
|
+
def _operator(self):
|
|
31
|
+
return operator.add
|
|
32
|
+
|
|
33
|
+
@classproperty
|
|
34
|
+
def tensor_op_type(self):
|
|
35
|
+
from ...tensor.arithmetic import TensorAdd
|
|
36
|
+
|
|
37
|
+
return TensorAdd
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
_add_example = """
|
|
41
|
+
>>> a.add(b, fill_value=0).execute()
|
|
42
|
+
a 2.0
|
|
43
|
+
b 1.0
|
|
44
|
+
c 1.0
|
|
45
|
+
d 1.0
|
|
46
|
+
e NaN
|
|
47
|
+
dtype: float64
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
@bin_arithmetic_doc("Addition", equiv="+", series_example=_add_example)
|
|
52
|
+
def add(df, other, axis="columns", level=None, fill_value=None):
|
|
53
|
+
op = DataFrameAdd(axis=axis, level=level, fill_value=fill_value, lhs=df, rhs=other)
|
|
54
|
+
return op(df, other)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@bin_arithmetic_doc("Addition", equiv="+", series_example=_add_example)
|
|
58
|
+
def radd(df, other, axis="columns", level=None, fill_value=None):
|
|
59
|
+
op = DataFrameAdd(axis=axis, level=level, fill_value=fill_value, lhs=other, rhs=df)
|
|
60
|
+
return op.rcall(df, other)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from ... import opcodes
|
|
16
|
+
from ...utils import classproperty
|
|
17
|
+
from .core import DataFrameUnaryUfunc
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class DataFrameArccos(DataFrameUnaryUfunc):
|
|
21
|
+
_op_type_ = opcodes.ARCCOS
|
|
22
|
+
_func_name = "arccos"
|
|
23
|
+
|
|
24
|
+
@classproperty
|
|
25
|
+
def tensor_op_type(self):
|
|
26
|
+
from ...tensor.arithmetic import TensorArccos
|
|
27
|
+
|
|
28
|
+
return TensorArccos
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from ... import opcodes
|
|
16
|
+
from ...utils import classproperty
|
|
17
|
+
from .core import DataFrameUnaryUfunc
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class DataFrameArccosh(DataFrameUnaryUfunc):
|
|
21
|
+
_op_type_ = opcodes.ARCCOSH
|
|
22
|
+
_func_name = "arccosh"
|
|
23
|
+
|
|
24
|
+
@classproperty
|
|
25
|
+
def tensor_op_type(self):
|
|
26
|
+
from ...tensor.arithmetic import TensorArccosh
|
|
27
|
+
|
|
28
|
+
return TensorArccosh
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from ... import opcodes
|
|
16
|
+
from ...utils import classproperty
|
|
17
|
+
from .core import DataFrameUnaryUfunc
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class DataFrameArcsin(DataFrameUnaryUfunc):
|
|
21
|
+
_op_type_ = opcodes.ARCSIN
|
|
22
|
+
_func_name = "arcsin"
|
|
23
|
+
|
|
24
|
+
@classproperty
|
|
25
|
+
def tensor_op_type(self):
|
|
26
|
+
from ...tensor.arithmetic import TensorArcsin
|
|
27
|
+
|
|
28
|
+
return TensorArcsin
|