maxframe 1.0.0rc1__cp311-cp311-win32.whl → 1.0.0rc2__cp311-cp311-win32.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/_utils.cp311-win32.pyd +0 -0
- maxframe/codegen.py +0 -4
- maxframe/config/config.py +34 -2
- maxframe/config/validators.py +1 -0
- maxframe/conftest.py +2 -0
- maxframe/core/entity/objects.py +1 -1
- maxframe/core/graph/core.cp311-win32.pyd +0 -0
- maxframe/dataframe/__init__.py +1 -1
- maxframe/dataframe/arithmetic/around.py +5 -17
- maxframe/dataframe/arithmetic/core.py +15 -7
- maxframe/dataframe/arithmetic/docstring.py +5 -55
- maxframe/dataframe/arithmetic/tests/test_arithmetic.py +22 -0
- maxframe/dataframe/core.py +5 -5
- maxframe/dataframe/datasource/date_range.py +2 -2
- maxframe/dataframe/datasource/read_odps_query.py +6 -0
- maxframe/dataframe/datasource/read_odps_table.py +2 -1
- maxframe/dataframe/datasource/tests/test_datasource.py +14 -0
- maxframe/dataframe/groupby/cum.py +0 -1
- maxframe/dataframe/groupby/tests/test_groupby.py +4 -0
- maxframe/dataframe/indexing/add_prefix_suffix.py +1 -1
- maxframe/dataframe/indexing/rename.py +3 -37
- maxframe/dataframe/indexing/sample.py +0 -1
- maxframe/dataframe/indexing/set_index.py +68 -1
- maxframe/dataframe/merge/merge.py +236 -2
- maxframe/dataframe/merge/tests/test_merge.py +123 -0
- maxframe/dataframe/misc/apply.py +3 -10
- maxframe/dataframe/misc/case_when.py +1 -1
- maxframe/dataframe/misc/describe.py +2 -2
- maxframe/dataframe/misc/drop_duplicates.py +4 -25
- maxframe/dataframe/misc/eval.py +4 -0
- maxframe/dataframe/misc/pct_change.py +1 -83
- maxframe/dataframe/misc/transform.py +1 -30
- maxframe/dataframe/misc/value_counts.py +4 -17
- maxframe/dataframe/missing/dropna.py +1 -1
- maxframe/dataframe/missing/fillna.py +5 -5
- maxframe/dataframe/sort/sort_values.py +1 -11
- maxframe/dataframe/statistics/quantile.py +5 -17
- maxframe/dataframe/utils.py +4 -7
- maxframe/learn/contrib/xgboost/dmatrix.py +2 -2
- maxframe/learn/contrib/xgboost/predict.py +2 -2
- maxframe/learn/contrib/xgboost/train.py +2 -2
- maxframe/lib/mmh3.cp311-win32.pyd +0 -0
- maxframe/odpsio/__init__.py +1 -1
- maxframe/odpsio/arrow.py +8 -4
- maxframe/odpsio/schema.py +10 -7
- maxframe/odpsio/tableio.py +388 -14
- maxframe/odpsio/tests/test_schema.py +16 -15
- maxframe/odpsio/tests/test_tableio.py +48 -21
- maxframe/protocol.py +40 -2
- maxframe/serialization/core.cp311-win32.pyd +0 -0
- maxframe/serialization/serializables/core.py +48 -9
- maxframe/tensor/__init__.py +59 -0
- maxframe/tensor/base/unique.py +2 -2
- maxframe/tensor/statistics/quantile.py +2 -2
- maxframe/tests/utils.py +11 -2
- maxframe/utils.py +17 -9
- {maxframe-1.0.0rc1.dist-info → maxframe-1.0.0rc2.dist-info}/METADATA +74 -1
- {maxframe-1.0.0rc1.dist-info → maxframe-1.0.0rc2.dist-info}/RECORD +64 -64
- {maxframe-1.0.0rc1.dist-info → maxframe-1.0.0rc2.dist-info}/WHEEL +1 -1
- maxframe_client/fetcher.py +38 -27
- maxframe_client/session/odps.py +5 -5
- maxframe_client/tests/test_fetcher.py +21 -3
- maxframe_client/tests/test_session.py +13 -2
- {maxframe-1.0.0rc1.dist-info → maxframe-1.0.0rc2.dist-info}/top_level.txt +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
maxframe/__init__.py,sha256=RujkARDvD6mhFpR330UQ0UfogvIdae5EjR1euFpTiYA,1036
|
|
2
|
-
maxframe/_utils.cp311-win32.pyd,sha256=
|
|
2
|
+
maxframe/_utils.cp311-win32.pyd,sha256=TawLlA_EPF7ehdOhn1H_n5OJtljanVo-L_pgQYbh8cg,269824
|
|
3
3
|
maxframe/_utils.pxd,sha256=_qHN-lCY1FQgDFIrrqA79Ys0SBdonp9kXRMS93xKSYk,1187
|
|
4
4
|
maxframe/_utils.pyx,sha256=_3p6aJEJ6WZYLcNZ6o4DxoxsxqadTlJXFlgDeFPxqUQ,17564
|
|
5
|
-
maxframe/codegen.py,sha256=
|
|
6
|
-
maxframe/conftest.py,sha256=
|
|
5
|
+
maxframe/codegen.py,sha256=4CpUo4qKAP9vPSOl1RaVo0kZ17DyhRqSW76fKz_Xu5o,18131
|
|
6
|
+
maxframe/conftest.py,sha256=lmXHAQEA6b2k8s2HHOsZdBeGT2a0XEm44rZLU8OpWyg,4497
|
|
7
7
|
maxframe/env.py,sha256=xY4wjMWIJ4qLsFAQ5F-X5CrVR7dDSWiryPXni0YSK5c,1435
|
|
8
8
|
maxframe/errors.py,sha256=nhQVjRbH5EsyLZhyAufvHpMhfDN6eR8vcrv4sjaI7p8,1000
|
|
9
9
|
maxframe/extension.py,sha256=XKgK2b42i-jfnLc0lBPiBMsGA6HMQ4a12mJc09tMAFc,2752
|
|
10
10
|
maxframe/mixin.py,sha256=QfX0KqVIWDlVDSFs0lwdzLexw7lS7W_IUuK7aY1Ib8c,3624
|
|
11
11
|
maxframe/opcodes.py,sha256=4Gj2svgrNNxylfUbQYs8WbDqTpoCoLtlNCtAYdHr-BU,10781
|
|
12
|
-
maxframe/protocol.py,sha256=
|
|
12
|
+
maxframe/protocol.py,sha256=qutT0HUB2-7Wq36621aPbwZe1OcG-a4lxfVBvrgvW2g,19919
|
|
13
13
|
maxframe/session.py,sha256=CfDT2iwjl5NAisPrZ6LF0xG_hr75Wr0cfHd6rvtHajw,37515
|
|
14
14
|
maxframe/typing_.py,sha256=pAgOhHHSM376N7PJLtNXvS5LHNYywz5dIjnA_hHRWSM,1133
|
|
15
15
|
maxframe/udf.py,sha256=GJre7snHQxkoyUWX0rpDkrGGU8-qA-SmSe2H9nSMEfo,4422
|
|
16
|
-
maxframe/utils.py,sha256=
|
|
16
|
+
maxframe/utils.py,sha256=_qJJs67UqY7L_a_pI5yLg_N1fUvPE_JLJChzLdBaawY,35624
|
|
17
17
|
maxframe/config/__init__.py,sha256=AHo3deaCm1JnbbRX_udboJEDYrYytdvivp9RFxJcumI,671
|
|
18
|
-
maxframe/config/config.py,sha256=
|
|
19
|
-
maxframe/config/validators.py,sha256=
|
|
18
|
+
maxframe/config/config.py,sha256=crVQq7UY_HyPC7ljteYTyl4sCgUvPKVTM85rQdA7U7w,15148
|
|
19
|
+
maxframe/config/validators.py,sha256=hLW19kJ0TLc-W8SHf2cTenzOHfx86x90Vd4szxW3xcA,1734
|
|
20
20
|
maxframe/config/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
21
21
|
maxframe/config/tests/test_config.py,sha256=FWQZ6KBUG_jY1-KaR-GKXl7khhlTbuLlk3uaEV8koM8,2839
|
|
22
22
|
maxframe/config/tests/test_validators.py,sha256=kz9Yxiqvl_BJq2CT61JTzfpRyrjm6lFrjqIfqeld_yo,1274
|
|
@@ -28,12 +28,12 @@ maxframe/core/entity/chunks.py,sha256=zKk8Iyc3IkakIDW1bMYq_zZNLrR4ZMdXH-mBuOiFer
|
|
|
28
28
|
maxframe/core/entity/core.py,sha256=aFwjNMhTJ4ybr1WzmMVSTG211fzutzaATs14QoNh-JM,4170
|
|
29
29
|
maxframe/core/entity/executable.py,sha256=CKxFGvFPfY_8JBprhpyndhTSLgVLtUG4G5n7Dw0dHnw,11275
|
|
30
30
|
maxframe/core/entity/fuse.py,sha256=X1lI0WXj5t0flgGI5-qlVl5LoYkAdLJHk2Vv767C9G4,2350
|
|
31
|
-
maxframe/core/entity/objects.py,sha256
|
|
31
|
+
maxframe/core/entity/objects.py,sha256=DmsR_XsbUVALF5jae6ANNBn_WtIZ3nh9Ukqofhp61Bw,1899
|
|
32
32
|
maxframe/core/entity/output_types.py,sha256=NnNeDBVAEhD8dtPBWzpM7n6s8neVFrahjd0zMGWroCc,2735
|
|
33
33
|
maxframe/core/entity/tileables.py,sha256=6jJyFscvb8sH5K_k2VaNGeUm8YrpevCtou3WSUl4Dw8,13973
|
|
34
34
|
maxframe/core/entity/utils.py,sha256=454RYVbTMVW_8KnfDqUPec4kz1p98izVTC2OrzhOkao,966
|
|
35
35
|
maxframe/core/graph/__init__.py,sha256=n1WiszgVu0VdXsk12oiAyggduNwu-1-9YKnfZqvmmXk,838
|
|
36
|
-
maxframe/core/graph/core.cp311-win32.pyd,sha256=
|
|
36
|
+
maxframe/core/graph/core.cp311-win32.pyd,sha256=ryA8CO_5CcGkSsEBW_As1nNbk6VwVjzyFkwGT6wr2w4,217088
|
|
37
37
|
maxframe/core/graph/core.pyx,sha256=J619C6xfVCF8NQ8oeinhICYSg-w5ecX-dnBI7NB-6n0,16390
|
|
38
38
|
maxframe/core/graph/entity.py,sha256=RT_xbP5niUN5D6gqZ5Pg1vUegHn8bqPk8G8A30quOVA,5730
|
|
39
39
|
maxframe/core/graph/builder/__init__.py,sha256=vTRY5xRPOMHUsK0jAtNIb1BjSPGqi_6lv86AroiiiL4,718
|
|
@@ -54,12 +54,12 @@ maxframe/core/operator/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH
|
|
|
54
54
|
maxframe/core/operator/tests/test_core.py,sha256=iqZk4AWubFLO24V_VeV6SEy5xrzBFLP9qKK6tKO0SGs,1755
|
|
55
55
|
maxframe/core/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
56
56
|
maxframe/core/tests/test_mode.py,sha256=fyRH-ksa6MogEs6kNhtXhCZyvhYqflgaXJYI3nSo-ps,2507
|
|
57
|
-
maxframe/dataframe/__init__.py,sha256=
|
|
57
|
+
maxframe/dataframe/__init__.py,sha256=FqEhQAdEx5W8-P8mG3Wwzx-gJcScVpcqkaDAp6ejWgU,2323
|
|
58
58
|
maxframe/dataframe/arrays.py,sha256=rOvhxMQars9E3SOYSu0ygBuuRVY0QV6xzengnMqKs4s,29616
|
|
59
|
-
maxframe/dataframe/core.py,sha256=
|
|
59
|
+
maxframe/dataframe/core.py,sha256=TYdl7KJwaJStivYErdT-57OhFn6S-OzP9SaCIacq7fA,76791
|
|
60
60
|
maxframe/dataframe/initializer.py,sha256=WW96yQjquofNFt6RPZvgWW4SBmH0OEDj8-BxpuyKThY,10552
|
|
61
61
|
maxframe/dataframe/operators.py,sha256=jl611oPN5TGpf6UDuIwcLUsjmTcbVBNLLd6cvq8TvKo,8144
|
|
62
|
-
maxframe/dataframe/utils.py,sha256=
|
|
62
|
+
maxframe/dataframe/utils.py,sha256=sonPqTu6vwXg5lxYFsZg3ZjUsQhTokpdngH_R0-3Kjg,45477
|
|
63
63
|
maxframe/dataframe/arithmetic/__init__.py,sha256=MPnITPuO7DDjAMTBawpennv6D0V9AnT6oF0nz2KUIqc,12837
|
|
64
64
|
maxframe/dataframe/arithmetic/abs.py,sha256=EgyzciSwjE_I3ZBuzeVJFVzBHsxn9MWzCtvHgyEl6ek,1016
|
|
65
65
|
maxframe/dataframe/arithmetic/add.py,sha256=wbmfAZgxjuP02ZUV4-VEsNhJlyo9tytXwkEx65ahuxI,1766
|
|
@@ -69,16 +69,16 @@ maxframe/dataframe/arithmetic/arcsin.py,sha256=z1s2UUosWOjKxp3qkC2XKJ4MeK3l3txQ2
|
|
|
69
69
|
maxframe/dataframe/arithmetic/arcsinh.py,sha256=EbGXb8IrpHjBrGLDJxFpVgSUpJ3oiFgbzoVHKH4SzHo,963
|
|
70
70
|
maxframe/dataframe/arithmetic/arctan.py,sha256=bYEkgWV7Etqq8DjnSaXWdTn736NHW-R7Va4wy83DcL0,958
|
|
71
71
|
maxframe/dataframe/arithmetic/arctanh.py,sha256=USWdXHQU99W4PCsLpaen5kN3QlqaxMp-e9LIGnbIa4Y,963
|
|
72
|
-
maxframe/dataframe/arithmetic/around.py,sha256=
|
|
72
|
+
maxframe/dataframe/arithmetic/around.py,sha256=L5Akz-F4F-6zNSp9VamH-VZ0OkmbVBDjtAIO9m2kP6Y,3963
|
|
73
73
|
maxframe/dataframe/arithmetic/bitwise_and.py,sha256=NWbfauXqEUW9N0mjy9SfdTMYpP6-Qjb1rFMM63OwSEw,1473
|
|
74
74
|
maxframe/dataframe/arithmetic/bitwise_or.py,sha256=a3HW12Wz_XTGJQU0yuhFm_USY4A4ex4aSNNKh6yMFxM,1596
|
|
75
75
|
maxframe/dataframe/arithmetic/bitwise_xor.py,sha256=jQmUMreUiOTlYraPEDhcdrYrtZisTRTX68Lll3uk818,1472
|
|
76
76
|
maxframe/dataframe/arithmetic/ceil.py,sha256=YnNA0N6GRd3GfJfmq3Yc5nu95vqIteKzf7pRQ_sQ9Wk,948
|
|
77
|
-
maxframe/dataframe/arithmetic/core.py,sha256=
|
|
77
|
+
maxframe/dataframe/arithmetic/core.py,sha256=GJWdYOXmKhvessF1c7AiKl_-uHE6SQR-FzNfkgBnYNk,14409
|
|
78
78
|
maxframe/dataframe/arithmetic/cos.py,sha256=7eWAEOvO8RePY6Bs3FDoSFtL57fBJdvLJRslx8Or63o,943
|
|
79
79
|
maxframe/dataframe/arithmetic/cosh.py,sha256=X15rxbk0RymYTTG0ISUvtZCl2T3YIQvx-w3aTtMVjyc,948
|
|
80
80
|
maxframe/dataframe/arithmetic/degrees.py,sha256=AdkR27ECvXJxNtie2pdiTcSu_mlX5zuhnljO_DL9OzQ,963
|
|
81
|
-
maxframe/dataframe/arithmetic/docstring.py,sha256=
|
|
81
|
+
maxframe/dataframe/arithmetic/docstring.py,sha256=bgj6BB3g_mRH1WqG2MMD4fRnG8LOxEu4krVVWmZhhRM,11466
|
|
82
82
|
maxframe/dataframe/arithmetic/equal.py,sha256=PUlH2Hxmg2PJxSLCFPzec_EDgTX5x4iuxqSaJzziYnk,1519
|
|
83
83
|
maxframe/dataframe/arithmetic/exp.py,sha256=22_EHcKx3d0x880QqPQYY_x8rUqaRhgTqAgvPrSt0PM,943
|
|
84
84
|
maxframe/dataframe/arithmetic/exp2.py,sha256=3dRamSqFmgnRFVbjP3-8K4MX46uryNuZZwoif4zHsRI,948
|
|
@@ -109,22 +109,22 @@ maxframe/dataframe/arithmetic/tanh.py,sha256=mbGIJLCLPypcwbZhGdqfboFKVQ7RSy-B0lA
|
|
|
109
109
|
maxframe/dataframe/arithmetic/truediv.py,sha256=MpvDwQ4SZ6ugXF04oFv0kheMcx-EcgkXeIBiPjh6MQQ,1872
|
|
110
110
|
maxframe/dataframe/arithmetic/trunc.py,sha256=ji9K9VRxvDPfODJmZ_yKBY885YKTWwdGK99kx4ZEZ5U,953
|
|
111
111
|
maxframe/dataframe/arithmetic/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
112
|
-
maxframe/dataframe/arithmetic/tests/test_arithmetic.py,sha256=
|
|
112
|
+
maxframe/dataframe/arithmetic/tests/test_arithmetic.py,sha256=VGoBadh4ahFXR5TJEVE3BK-dRqYCf5jo1yus5ekyjBM,25974
|
|
113
113
|
maxframe/dataframe/datasource/__init__.py,sha256=SX8ZXJsvQYntLZiEk-X1LmbF6v6k-Kaueh0R04N2eCQ,655
|
|
114
114
|
maxframe/dataframe/datasource/core.py,sha256=1X32MxCU3Y5vxTVEIkNNXx29eIARyRCvnkVe7ThT0wI,2768
|
|
115
115
|
maxframe/dataframe/datasource/dataframe.py,sha256=P3kvDS_Jh6EGgJRVfh_rHVkVfMaHeGQ2U7rZT5Gr2Tk,2082
|
|
116
|
-
maxframe/dataframe/datasource/date_range.py,sha256=
|
|
116
|
+
maxframe/dataframe/datasource/date_range.py,sha256=wmralVkR1F7vYKnOAQA34gXqHE6MwqUuKAgVodsk8f8,17731
|
|
117
117
|
maxframe/dataframe/datasource/from_index.py,sha256=c6ecX7miuig3-uZB3-aj68TkpUypzpaogZsUZSbTtBs,1911
|
|
118
118
|
maxframe/dataframe/datasource/from_records.py,sha256=ygpKOMXZnDdWzGxMxQ4KdGv-tJFT_yhpLGnDlS1rNLc,3549
|
|
119
119
|
maxframe/dataframe/datasource/from_tensor.py,sha256=mShHYi0fZcG7ZShFVgIezaphh8tSFqR9-nQMm5YKIhw,15146
|
|
120
120
|
maxframe/dataframe/datasource/index.py,sha256=X_NShW67nYJGxaWp3qOrvyInNkz9L-XHjbApU4fHoes,4518
|
|
121
121
|
maxframe/dataframe/datasource/read_csv.py,sha256=IvQihmpcZIdzSD7ziX92aTAHNyP5WnTgd2cZz_h43sQ,24668
|
|
122
|
-
maxframe/dataframe/datasource/read_odps_query.py,sha256=
|
|
123
|
-
maxframe/dataframe/datasource/read_odps_table.py,sha256=
|
|
122
|
+
maxframe/dataframe/datasource/read_odps_query.py,sha256=3pZEucsj_sQRKEFOh6_JGcgQTDbwkb-_PGen5Kfz2w4,10522
|
|
123
|
+
maxframe/dataframe/datasource/read_odps_table.py,sha256=tAkztS5SxCWtpMHOSANR9-IB703Ub0vDMp1YJ8wT68I,9479
|
|
124
124
|
maxframe/dataframe/datasource/read_parquet.py,sha256=SZPrWoax2mwMBNvRk_3lkS72pZLe-_X_GwQ1JROBMs4,14952
|
|
125
125
|
maxframe/dataframe/datasource/series.py,sha256=elQVupKETh-hUHI2fTu8TRxBE729Vyrmpjx17XlRV-8,1964
|
|
126
126
|
maxframe/dataframe/datasource/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
127
|
-
maxframe/dataframe/datasource/tests/test_datasource.py,sha256=
|
|
127
|
+
maxframe/dataframe/datasource/tests/test_datasource.py,sha256=1RbSSg2WBs3d4E1m-kk70-begcdQuBcJ2RiZzBu3kn0,15488
|
|
128
128
|
maxframe/dataframe/datastore/__init__.py,sha256=MmlHYvFacMReOHDQMXF-z2bCsLyrSHYBVwIlCsZGOK4,810
|
|
129
129
|
maxframe/dataframe/datastore/core.py,sha256=HCqrZN47RP-IC6zDqLX_RErDUAWkcTB58FHNU70V2b4,762
|
|
130
130
|
maxframe/dataframe/datastore/to_csv.py,sha256=sns4bBgNpq7Ihb-goNqaBRdiEtrG-V6jqhNkWGZ1YaE,7974
|
|
@@ -142,16 +142,16 @@ maxframe/dataframe/groupby/__init__.py,sha256=wMjmvk4ced1uCm7bw0oodIKvaep61Khupr
|
|
|
142
142
|
maxframe/dataframe/groupby/aggregation.py,sha256=cUnu-Bj6YD1TVkaafwL2aGIIqixLEq7s9-7BQ_1T2DI,12303
|
|
143
143
|
maxframe/dataframe/groupby/apply.py,sha256=DQHyEfqj-3tfK-CxwpdVgya0_YC9dImeWYPZJDw7ckk,9735
|
|
144
144
|
maxframe/dataframe/groupby/core.py,sha256=NG6e3sqIu5dnBw9_DCQEDtsnxM5e4Yl1oD7Z_qjdtWA,6254
|
|
145
|
-
maxframe/dataframe/groupby/cum.py,sha256=
|
|
145
|
+
maxframe/dataframe/groupby/cum.py,sha256=T5fVdcy8XzLjrTE7NNqkwVgydg_aKM8xhlcWCsjsHwM,3806
|
|
146
146
|
maxframe/dataframe/groupby/fill.py,sha256=AXRmA_j-m7ig0udLCJ02FwIce2GLQ2U8KlnuCe-NY3U,4862
|
|
147
147
|
maxframe/dataframe/groupby/getitem.py,sha256=owNzoE8UEfM41dfuntKkRBjjYYbY8O8CMJchIhCEyds,3344
|
|
148
148
|
maxframe/dataframe/groupby/head.py,sha256=idlO3MCVKgHYmLsBrPMsUpxt3Zbha07r_ZJXJZy5P3k,3371
|
|
149
149
|
maxframe/dataframe/groupby/sample.py,sha256=bM7xrF4dzAM8lA0gtkglEfmys1og27dwCm9UiFayJTU,7149
|
|
150
150
|
maxframe/dataframe/groupby/transform.py,sha256=1Gn4uOydtRMwFo-CUXrSTyOwlbuJyeWNIzcf6VAIN2w,8841
|
|
151
151
|
maxframe/dataframe/groupby/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
152
|
-
maxframe/dataframe/groupby/tests/test_groupby.py,sha256=
|
|
152
|
+
maxframe/dataframe/groupby/tests/test_groupby.py,sha256=oidpLtSA3fhZldVRQ5-3PnfXKnyclqR-ApiNgzh-yzk,12740
|
|
153
153
|
maxframe/dataframe/indexing/__init__.py,sha256=AkjowbPJu6kM4fJF5baU6g6FA7n2ux5__f4_2budLSs,3297
|
|
154
|
-
maxframe/dataframe/indexing/add_prefix_suffix.py,sha256=
|
|
154
|
+
maxframe/dataframe/indexing/add_prefix_suffix.py,sha256=YT8sIKWWy_t0dkuzvTlWM4n9Ni9m2TeCvADrhS5xX6E,3080
|
|
155
155
|
maxframe/dataframe/indexing/align.py,sha256=-kV91o_-pq7rFsv0zgnGZuEyn8HqyUK_Ejv4VWF5fps,12434
|
|
156
156
|
maxframe/dataframe/indexing/at.py,sha256=7Igb4I9_9drZSCZITFRNL3Q-7EI_mtfklUrnNP0apHo,2300
|
|
157
157
|
maxframe/dataframe/indexing/getitem.py,sha256=eS8dnlMEP2zaYvzYZFlBNfwjD89UqT0MRIlNuDcAJQc,7958
|
|
@@ -160,12 +160,12 @@ maxframe/dataframe/indexing/iloc.py,sha256=O4lCMV2Q0GtSM3_FbKY6rl_1WUGcae-H2wHvC
|
|
|
160
160
|
maxframe/dataframe/indexing/insert.py,sha256=bvKdAswI688hOIaL9EvU7LnbjpELUdv5QS7rogSn_5U,2997
|
|
161
161
|
maxframe/dataframe/indexing/loc.py,sha256=senwgO_ijLJtbzaeqS_CMefV8nlf3guEQXKdSQcwYy0,15256
|
|
162
162
|
maxframe/dataframe/indexing/reindex.py,sha256=v4Rd85aNfh3onzcFqOhdUjiLrDv9QuNtGh-OaWpnG-4,19699
|
|
163
|
-
maxframe/dataframe/indexing/rename.py,sha256=
|
|
163
|
+
maxframe/dataframe/indexing/rename.py,sha256=ZNmURKN4DjMc9jsH8l8uyTXuu4QRFIqMT3TH0bD0oQM,12891
|
|
164
164
|
maxframe/dataframe/indexing/rename_axis.py,sha256=ugKcve4Kp8EuSmokQFUL-mVhGQ1cd6IDZ3UauHPiFeQ,6511
|
|
165
165
|
maxframe/dataframe/indexing/reset_index.py,sha256=_NFQZTjHzc_IgiqC-aqFJUfjneyJUN42-ujxGPfBVnQ,13524
|
|
166
|
-
maxframe/dataframe/indexing/sample.py,sha256=
|
|
166
|
+
maxframe/dataframe/indexing/sample.py,sha256=XrgzEugAL_WXJc_OkrWAugXUOIaqg3_OwWBp-hMee9U,8391
|
|
167
167
|
maxframe/dataframe/indexing/set_axis.py,sha256=ECRV5rRfbsKAQ90nEZVWCtGyu_0hN8ZPTmWNRGIJ0zo,5724
|
|
168
|
-
maxframe/dataframe/indexing/set_index.py,sha256=
|
|
168
|
+
maxframe/dataframe/indexing/set_index.py,sha256=sJmXxBh-veIbf0LohLo69FSB2FTuYc0qOsyO7WQFX4k,4323
|
|
169
169
|
maxframe/dataframe/indexing/setitem.py,sha256=N82AVPJ6iENXNJx7m662jPp2HH-Sb5QZvuOIoDlQJ7w,5134
|
|
170
170
|
maxframe/dataframe/indexing/where.py,sha256=puKc4XR45KmJxCar8AwWbjJouEqYxW5-SdAWLuwCZ44,8875
|
|
171
171
|
maxframe/dataframe/indexing/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
@@ -173,31 +173,31 @@ maxframe/dataframe/indexing/tests/test_indexing.py,sha256=F0tHjhVTZyGrE2khpxGIAv
|
|
|
173
173
|
maxframe/dataframe/merge/__init__.py,sha256=QpaBvmmhCpnHqvJ35nX4FZ-MpPxkTrQod4UxnJWt_II,1069
|
|
174
174
|
maxframe/dataframe/merge/append.py,sha256=9CgzHZEdnJjDwzuzdTMhodJAeOJJuUVjYT4RMFOW4nI,4973
|
|
175
175
|
maxframe/dataframe/merge/concat.py,sha256=cIlwVguZTWFx6GX5fTZ3YctKNkn9wP72TpbxKR-F6ng,11807
|
|
176
|
-
maxframe/dataframe/merge/merge.py,sha256=
|
|
176
|
+
maxframe/dataframe/merge/merge.py,sha256=_HZTybk_XKaSiBG_WLVYyQf1Z9FZVSpAyDK53h1giOI,31250
|
|
177
177
|
maxframe/dataframe/merge/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
178
|
-
maxframe/dataframe/merge/tests/test_merge.py,sha256=
|
|
178
|
+
maxframe/dataframe/merge/tests/test_merge.py,sha256=qRreRSpPIq3Yp1ARKhYgrNmwAIcWfF014imrlL3qJqk,11488
|
|
179
179
|
maxframe/dataframe/misc/__init__.py,sha256=Lq82VMR4qWhYD1lYTbj8Wr7ndOh0CNATdOtlOikuZRQ,5401
|
|
180
180
|
maxframe/dataframe/misc/_duplicate.py,sha256=EYNv1_sKm14d91Gm4_Buxo7b5Tuy93MOvaq1TTAUkis,1516
|
|
181
181
|
maxframe/dataframe/misc/accessor.py,sha256=XtbMV6QrYb2m9oAd8swkFoKAq5mxj_QO0LVLVw5uJB4,10303
|
|
182
|
-
maxframe/dataframe/misc/apply.py,sha256=
|
|
182
|
+
maxframe/dataframe/misc/apply.py,sha256=BIaBSjx-KxkdubPc_N_C_F5uuaV4aIdRdiPsZhN-7Qg,24057
|
|
183
183
|
maxframe/dataframe/misc/astype.py,sha256=9CO4BEW98Flqk7HHWScjxRK8EdeTRgQDYcyRwEnyIB0,8033
|
|
184
|
-
maxframe/dataframe/misc/case_when.py,sha256=
|
|
184
|
+
maxframe/dataframe/misc/case_when.py,sha256=ApjsHykW53a61Rfe034S0wT1X6lzWk5zYJ7vIsaiQIc,5002
|
|
185
185
|
maxframe/dataframe/misc/check_monotonic.py,sha256=LDltdmPq90fZn8A0ucqpNy0uswKo2hJx59Y4EHSN9l4,2506
|
|
186
186
|
maxframe/dataframe/misc/cut.py,sha256=dOKWwd1D2CYU9LVQvfonMrD8E2eGeBONZvWN1ArCfMM,14288
|
|
187
187
|
maxframe/dataframe/misc/datetimes.py,sha256=zR99O-8EKKWt4UtNdPI22K8N9mP9XSs9lDQLBPEmFlo,2582
|
|
188
|
-
maxframe/dataframe/misc/describe.py,sha256=
|
|
188
|
+
maxframe/dataframe/misc/describe.py,sha256=PaddhvhKVZDkG6WuWGWi3LL7Vg8uny_3WzlVbdKZseQ,4478
|
|
189
189
|
maxframe/dataframe/misc/diff.py,sha256=j6C0PNb4eufB7ZU-mAXNNIC8y1wzHd6MHS-IWTz606E,5701
|
|
190
190
|
maxframe/dataframe/misc/drop.py,sha256=UDP1EWpHPa0tkpjvNPIcstAiWoMainCMcvV7wefH7RA,13469
|
|
191
|
-
maxframe/dataframe/misc/drop_duplicates.py,sha256=
|
|
191
|
+
maxframe/dataframe/misc/drop_duplicates.py,sha256=1Ax1QXghtk3bNZnvBaVDr4OMpR33WM_NU0dgZBYZMgc,8078
|
|
192
192
|
maxframe/dataframe/misc/duplicated.py,sha256=w5aXwtDn5_ZbvnB0oCOoTE7EJQ6cdSnhTjL8SMci0Tw,8826
|
|
193
|
-
maxframe/dataframe/misc/eval.py,sha256=
|
|
193
|
+
maxframe/dataframe/misc/eval.py,sha256=3UuqaMW0Pe6CRh82XtKiNNuWeJOyz_hzhzRZ2zqpBLQ,25091
|
|
194
194
|
maxframe/dataframe/misc/explode.py,sha256=aWQObjpxgPCCm87Lc1cavqotETz6xVLm8HSsPhM3n5k,5182
|
|
195
195
|
maxframe/dataframe/misc/get_dummies.py,sha256=fkoGya2HUVMlJviEfCy1toedfa_gOro_E0xrl-azGDg,7295
|
|
196
196
|
maxframe/dataframe/misc/isin.py,sha256=mqce_GgIkT390glXJ4jq4JEcRYhpbJNkN6tqP-8x078,7148
|
|
197
197
|
maxframe/dataframe/misc/map.py,sha256=NSsQvOFrRvULVHPOfJk3B_tIh2IRU4IE0oOF2qkL4mE,8385
|
|
198
198
|
maxframe/dataframe/misc/melt.py,sha256=LoqZ45-J8WvXixtFEbEF1UCtZy4-E6loFtVdFghgt0A,5282
|
|
199
199
|
maxframe/dataframe/misc/memory_usage.py,sha256=3d6g2lAW7R4BV_vpUpn2-BFs9cwbEW03UH-6AEhmue0,8137
|
|
200
|
-
maxframe/dataframe/misc/pct_change.py,sha256
|
|
200
|
+
maxframe/dataframe/misc/pct_change.py,sha256=-T22ebhiTy7psZS9xE1087xKDuznasaNwoGXs5yYZPc,2584
|
|
201
201
|
maxframe/dataframe/misc/pivot_table.py,sha256=5HmAdczDMJbznFq2omuBKjjib0WvTrohXGwCtHAMwOY,9782
|
|
202
202
|
maxframe/dataframe/misc/qcut.py,sha256=kcYhSf6m47u5zIEPgG98nE3hv57e6uuCuJs_dxpcszE,3841
|
|
203
203
|
maxframe/dataframe/misc/select_dtypes.py,sha256=qsrWW8BNBd-hAT1yIlrnbvBjfbzZyttzch7bxKgRkCg,3248
|
|
@@ -205,15 +205,15 @@ maxframe/dataframe/misc/shift.py,sha256=HCGKBuToksgu5LZR_k5eaQrdyrXCeqRZYbZs0J5-
|
|
|
205
205
|
maxframe/dataframe/misc/stack.py,sha256=a3eWRUnFQ4okGUEirsdIq9taLfcRTCKnLfcXHg-sce8,8200
|
|
206
206
|
maxframe/dataframe/misc/string_.py,sha256=AaEfHcPAJWZ8Ug-zbD0gjaBfuFXWfHDXbrHQ1Kaqes4,8322
|
|
207
207
|
maxframe/dataframe/misc/to_numeric.py,sha256=VxYijzFTiUD9Jc62fE24tZ3iB8EVb9cBqZwvQFt2bHA,6440
|
|
208
|
-
maxframe/dataframe/misc/transform.py,sha256=
|
|
208
|
+
maxframe/dataframe/misc/transform.py,sha256=NabM88Ix5fFaH_waStAdjylj3BGT_Uel0c0pH1t8o90,11252
|
|
209
209
|
maxframe/dataframe/misc/transpose.py,sha256=SsKRuN9Pj36D6kntnsLfzBsFHjSCiV1cZuPJuKHgbGU,3772
|
|
210
|
-
maxframe/dataframe/misc/value_counts.py,sha256=
|
|
210
|
+
maxframe/dataframe/misc/value_counts.py,sha256=EpgfnbPbndrTKgTE_xgZGW-uHZDw1MIWQUF40oGGWUI,5384
|
|
211
211
|
maxframe/dataframe/misc/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
212
212
|
maxframe/dataframe/misc/tests/test_misc.py,sha256=7P3-dJwsMVhD6ft5HNXorUp-SnO8o9eTTAoFGXzhiNg,16121
|
|
213
213
|
maxframe/dataframe/missing/__init__.py,sha256=DQDpYqjvXN6o6TF76wJIpf1fZICOEJskljzwDNjN80k,1866
|
|
214
214
|
maxframe/dataframe/missing/checkna.py,sha256=_Rd-HRX7lTzMV3myu745tzoTB8WIqDIJu2TcT1SfdB0,7113
|
|
215
|
-
maxframe/dataframe/missing/dropna.py,sha256=
|
|
216
|
-
maxframe/dataframe/missing/fillna.py,sha256=
|
|
215
|
+
maxframe/dataframe/missing/dropna.py,sha256=at89SeMZxHZdmSFOInwtz7ap4g9Vy_4W4OK_Bj6DWpc,8520
|
|
216
|
+
maxframe/dataframe/missing/fillna.py,sha256=GIOayBXUBSQf6Enf8IR2UuVOvru3lR2SlXhiTLonM_w,9180
|
|
217
217
|
maxframe/dataframe/missing/replace.py,sha256=g9KqENIuuaFW33KIFXTClngWcVu2ttrGa28UwbtQJ8o,13779
|
|
218
218
|
maxframe/dataframe/missing/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
219
219
|
maxframe/dataframe/missing/tests/test_missing.py,sha256=zhsgn-yonyXYhlFZtH2OpXtvN0NLxFOZpU_vCumTCqA,3223
|
|
@@ -251,12 +251,12 @@ maxframe/dataframe/reduction/tests/test_reduction.py,sha256=yXQNP838jNuDjev3JuLj
|
|
|
251
251
|
maxframe/dataframe/sort/__init__.py,sha256=57j5S4NVcmcgI5pKlEWEio3qbtxdUCFA3B9sP1QJafU,1194
|
|
252
252
|
maxframe/dataframe/sort/core.py,sha256=FxwuboZE5yuAtCCj7EWntuk_ueaMdM25JZKrArHY_yQ,1260
|
|
253
253
|
maxframe/dataframe/sort/sort_index.py,sha256=R7PiCuI7kmoWX4EsmyJyqciettWi4CJl6_RMKZdxrmI,5565
|
|
254
|
-
maxframe/dataframe/sort/sort_values.py,sha256=
|
|
254
|
+
maxframe/dataframe/sort/sort_values.py,sha256=Zw_JEA3VOukd9HSpxqBeIcMgU4qtjrbCQ3vC-7jwGng,9003
|
|
255
255
|
maxframe/dataframe/sort/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
256
256
|
maxframe/dataframe/sort/tests/test_sort.py,sha256=2KwQP4eyAL7rflYrbei9ocU5oum3NjiGurWirR2GzHg,2685
|
|
257
257
|
maxframe/dataframe/statistics/__init__.py,sha256=gC4z9SHj8mG1EECYiMNeGPNF3aie1AOw8UATmiLG-bo,1117
|
|
258
258
|
maxframe/dataframe/statistics/corr.py,sha256=ufSCKpITCR8HnKc7osxnxDwg8hvptrcKOjIeKsF4eB4,9763
|
|
259
|
-
maxframe/dataframe/statistics/quantile.py,sha256=
|
|
259
|
+
maxframe/dataframe/statistics/quantile.py,sha256=v_Ff05C8eE9Suq3k_G_KWMHcfGvduS0Oap0PyOfknUY,11632
|
|
260
260
|
maxframe/dataframe/statistics/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
261
261
|
maxframe/dataframe/statistics/tests/test_statistics.py,sha256=tvk_kTcOuzRLFspidSPVoZrBVtVsbHhGb16LU-Vr3lU,2812
|
|
262
262
|
maxframe/dataframe/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
@@ -289,10 +289,10 @@ maxframe/learn/contrib/pytorch/tests/test_pytorch.py,sha256=GHP-oD5uMU8LD90Jt2cH
|
|
|
289
289
|
maxframe/learn/contrib/xgboost/__init__.py,sha256=vk9xZO_FUwyVCrcLP1dbEz6JCZQBEHsmhGr1uQ45FAI,925
|
|
290
290
|
maxframe/learn/contrib/xgboost/classifier.py,sha256=DWvQ9_GLg-ZeSFQp6NN5-7_BA9NxkpxEv5WtuodU31o,3022
|
|
291
291
|
maxframe/learn/contrib/xgboost/core.py,sha256=RzGTONv1WgDb0ZXUxzDDkbqepvznAPRyjSgD2N4MdPc,5350
|
|
292
|
-
maxframe/learn/contrib/xgboost/dmatrix.py,sha256=
|
|
293
|
-
maxframe/learn/contrib/xgboost/predict.py,sha256=
|
|
292
|
+
maxframe/learn/contrib/xgboost/dmatrix.py,sha256=LsmCpda7_g6UjY3803ltDQN3uJDhN8j226ky8tb2Tzg,4989
|
|
293
|
+
maxframe/learn/contrib/xgboost/predict.py,sha256=CvjOunt8Ir3spP4baMq9Gcq0uCV_mCSli7K7g1qTLDU,4785
|
|
294
294
|
maxframe/learn/contrib/xgboost/regressor.py,sha256=osuNG4N1SILgjL-CodYnM9ODwewaVi4-8tHdfWZWJpg,2610
|
|
295
|
-
maxframe/learn/contrib/xgboost/train.py,sha256=
|
|
295
|
+
maxframe/learn/contrib/xgboost/train.py,sha256=IlVYmf-KYb0uSqdIVSwEsx4jwTJHr9d-44hiqY1jNSM,4062
|
|
296
296
|
maxframe/learn/contrib/xgboost/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
297
297
|
maxframe/learn/contrib/xgboost/tests/test_core.py,sha256=qNSXaB1t1vpoCD6RfpnFjJZHS8ShW9O_uz0ucXXlfpE,1449
|
|
298
298
|
maxframe/learn/utils/__init__.py,sha256=w2_QpDZ9J5BcSgbqu8P2RlkVRWC2gLowfgsaDPtz_Pg,661
|
|
@@ -300,7 +300,7 @@ maxframe/learn/utils/core.py,sha256=WNDISxPFsWmjkwHwEvjVGCkAOkIftqzEQFPA_KWr7FY,
|
|
|
300
300
|
maxframe/lib/__init__.py,sha256=_PB28W40qku6YiT8fJYqdmEdRMQfelOwGeksCOZJfCc,657
|
|
301
301
|
maxframe/lib/compression.py,sha256=QQpNK79iUC9zck74I0HKMhapSRnLBXtTRyS91taEVIc,1497
|
|
302
302
|
maxframe/lib/functools_compat.py,sha256=2LTrkSw5i-z5E9XCtZzfg9-0vPrYxicKvDjnnNrAL1Q,2697
|
|
303
|
-
maxframe/lib/mmh3.cp311-win32.pyd,sha256=
|
|
303
|
+
maxframe/lib/mmh3.cp311-win32.pyd,sha256=2KU93vZNtU0Oug1sWReMGBTSoByHn800hRQecjEl-zY,15360
|
|
304
304
|
maxframe/lib/mmh3.pyi,sha256=pkzO6SUUukCty3X-WFsuokWBtIPWyxEa06ypF9liruI,1537
|
|
305
305
|
maxframe/lib/version.py,sha256=VOVZu3KHS53YUsb_vQsT7AyHwcCWAgc-3bBqV5ANcbQ,18941
|
|
306
306
|
maxframe/lib/wrapped_pickle.py,sha256=Akx-qhMMJJ6VVzQYrcVO_umFjx0IR-Yzb1XqyOS1Mio,3976
|
|
@@ -349,22 +349,22 @@ maxframe/lib/tblib/decorators.py,sha256=377HT3gnD9B2dcxw75pHM17--ABkcgi_GQGmdA_M
|
|
|
349
349
|
maxframe/lib/tblib/pickling_support.py,sha256=D9A0eX7gJeyqhXWxJJZ1GRwwcc5lj86wBRh0tmo6GHk,3025
|
|
350
350
|
maxframe/lib/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
351
351
|
maxframe/lib/tests/test_wrapped_pickle.py,sha256=WV0EJQ1hTSp8xjuosWWtEO7PeiBqdDUYgStxp72_c94,1575
|
|
352
|
-
maxframe/odpsio/__init__.py,sha256=
|
|
353
|
-
maxframe/odpsio/arrow.py,sha256=
|
|
354
|
-
maxframe/odpsio/schema.py,sha256=
|
|
355
|
-
maxframe/odpsio/tableio.py,sha256=
|
|
352
|
+
maxframe/odpsio/__init__.py,sha256=NjyhtdmOuFrEBB5nfVtS_lngdjNKL26yZwYy4HTc40s,833
|
|
353
|
+
maxframe/odpsio/arrow.py,sha256=3GTTaA-VpsFAU_8wurmr4QRGkW7yB3KKTdXrtFrqrTs,4017
|
|
354
|
+
maxframe/odpsio/schema.py,sha256=ipHxt3FWPdxNHpeEV9FcY-dJjm07znM1wI5xtIIGLLc,12680
|
|
355
|
+
maxframe/odpsio/tableio.py,sha256=3iUrmInpC_4CAbFWNPvxPNyUPy5mq456NfpEAKRNLKk,24531
|
|
356
356
|
maxframe/odpsio/volumeio.py,sha256=IT_OO-RG2rJZOEx8C8xRr0oNR358RSAJQAp6WGxeXzI,3838
|
|
357
357
|
maxframe/odpsio/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
358
358
|
maxframe/odpsio/tests/test_arrow.py,sha256=yeDWFzsm2IMS-k6jimlQ7uim5T6WW1Anuy8didaf4cs,3194
|
|
359
|
-
maxframe/odpsio/tests/test_schema.py,sha256=
|
|
360
|
-
maxframe/odpsio/tests/test_tableio.py,sha256=
|
|
359
|
+
maxframe/odpsio/tests/test_schema.py,sha256=_qXr_EqhG2tLsetxiSkuZitoZ55bQkqguK2eWBxWF68,12263
|
|
360
|
+
maxframe/odpsio/tests/test_tableio.py,sha256=Z6eR-DDNwlatyKQ0AEpemhjiLLSW2KqvxgQ7csRwIxY,5766
|
|
361
361
|
maxframe/odpsio/tests/test_volumeio.py,sha256=xvnrPZueZ76OAWK2zW_tHHI_cDxo7gJXTHiEe0lkmjk,3112
|
|
362
362
|
maxframe/remote/__init__.py,sha256=Yu1ZDLICbehNfd1ur7_2bnIn2VFIsTxH_cILCbHAeZY,747
|
|
363
363
|
maxframe/remote/core.py,sha256=w_eTDEs0O7iIzLn1YrMGh2gcNAzzbqV0mx2bRT7su_U,7001
|
|
364
364
|
maxframe/remote/run_script.py,sha256=k93-vaFLUanWoBRai4-78DX_SLeZ8_rbbxcCtOIXZO8,3677
|
|
365
365
|
maxframe/serialization/__init__.py,sha256=nxxU7CI6MRcL3sjA1KmLkpTGKA3KG30FKl-MJJ0MCdI,947
|
|
366
366
|
maxframe/serialization/arrow.py,sha256=OMeDjLcPgagqzokG7g3Vhwm6Xw1j-Kph1V2QsIwi6dw,3513
|
|
367
|
-
maxframe/serialization/core.cp311-win32.pyd,sha256=
|
|
367
|
+
maxframe/serialization/core.cp311-win32.pyd,sha256=OYudwghDutnnT9_sBUha2V4Cw5GkZNhBCMtQhHPRqrM,357888
|
|
368
368
|
maxframe/serialization/core.pxd,sha256=KioRiFhr5DTuqXnS2imJ3djWfSv2IAmhnz-kAFPgU6A,1548
|
|
369
369
|
maxframe/serialization/core.pyi,sha256=ELDG44v8O7A7RfURExMfVEJENuaEYHTwgJ-vzlH2Vh4,2206
|
|
370
370
|
maxframe/serialization/core.pyx,sha256=4iyUotIVV8CkVhHo3RyotDP1E7M2C1KMb0_40Ex_h1c,36321
|
|
@@ -374,7 +374,7 @@ maxframe/serialization/numpy.py,sha256=ENrFKl24mtYyO1vZRLwHvMD0r4z_UI7J2-yNlmfWS
|
|
|
374
374
|
maxframe/serialization/pandas.py,sha256=wqRcZhUd5tMi__7kmvhW1_-DdhBLnW00kz0hDrUvmEY,7522
|
|
375
375
|
maxframe/serialization/scipy.py,sha256=fGwQ5ZreymrMT8g7TneATfFdKFF7YPNZQqgWgMa3J8M,2498
|
|
376
376
|
maxframe/serialization/serializables/__init__.py,sha256=rlQhIaSAVzz4KYkc5shEHFZDPd6WDMPkxalU76yjJ3M,1406
|
|
377
|
-
maxframe/serialization/serializables/core.py,sha256=
|
|
377
|
+
maxframe/serialization/serializables/core.py,sha256=PY3Uvq6aHl0V5a9ZVNoN8rxoKGNYuVATvKUj1VMq9rE,16010
|
|
378
378
|
maxframe/serialization/serializables/field.py,sha256=DVott3HAbne4UvN-heSFS9gSl0wCxV5RssS738FCjzk,16639
|
|
379
379
|
maxframe/serialization/serializables/field_type.py,sha256=hkxrXT2SL_tATuobtJDfL4DzzVP2hJjDlC3PrJg6ZKo,15454
|
|
380
380
|
maxframe/serialization/serializables/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
@@ -382,7 +382,7 @@ maxframe/serialization/serializables/tests/test_field_type.py,sha256=uG87-bdG8xG
|
|
|
382
382
|
maxframe/serialization/serializables/tests/test_serializable.py,sha256=w5r-WC-8Zi1xAO1AfxdkjGcbGHZ8G5B-z_-d47Fje-A,10159
|
|
383
383
|
maxframe/serialization/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
384
384
|
maxframe/serialization/tests/test_serial.py,sha256=9G2CbPBHINwcZ038pRwZON_OtH-JVXZ8w66BLYWP578,12923
|
|
385
|
-
maxframe/tensor/__init__.py,sha256=
|
|
385
|
+
maxframe/tensor/__init__.py,sha256=6Ro7re_MYOIzF7A664GMXZAq0zHfVcReDzYobIfuKuc,4544
|
|
386
386
|
maxframe/tensor/array_utils.py,sha256=xr_Ng-4dETJFjsMfWi5gbTPM9mRmPvRWj8QY2WKjmCg,5129
|
|
387
387
|
maxframe/tensor/core.py,sha256=-G-UzY81GTKj2SD9FQLqBg-UDod5LjjrEA-uF16ofms,22638
|
|
388
388
|
maxframe/tensor/operators.py,sha256=8VsSZ8OcImGkSRQvrYlV05KMHGsroAYmW1o9RM2yV1U,3584
|
|
@@ -494,7 +494,7 @@ maxframe/tensor/base/atleast_1d.py,sha256=_d7xamputAAHFY8v0Ayc8ILMdqS6fLZYhWQLOh
|
|
|
494
494
|
maxframe/tensor/base/broadcast_to.py,sha256=V-OB8YSbMfkMP2JpbiIQ0A9PrC-OHfaWzrntf5AOEwo,2775
|
|
495
495
|
maxframe/tensor/base/ravel.py,sha256=P9SCDU-UUHzd1HqZbodBSgKjtjiOFkyfLV_G9LFnz_U,3265
|
|
496
496
|
maxframe/tensor/base/transpose.py,sha256=yMK1KzxguKZOWxT3oMo5GchjB-1Yakilp2rEX3QlxFM,3539
|
|
497
|
-
maxframe/tensor/base/unique.py,sha256=
|
|
497
|
+
maxframe/tensor/base/unique.py,sha256=wweWA7Qg-MwRsJwXQc_-4BuDAYBQkRgVw-B38z6hNTQ,6926
|
|
498
498
|
maxframe/tensor/base/where.py,sha256=cSg1mDhiOBB4F0Soh_uVw3yeSve9pfEhPSIDadc-wto,4127
|
|
499
499
|
maxframe/tensor/base/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
500
500
|
maxframe/tensor/base/tests/test_base.py,sha256=i9TneozyHCHDhO438U285KS6tdh0Zks8mgkRm3fsHxk,2957
|
|
@@ -620,30 +620,30 @@ maxframe/tensor/reshape/tests/__init__.py,sha256=_PB28W40qku6YiT8fJYqdmEdRMQfelO
|
|
|
620
620
|
maxframe/tensor/reshape/tests/test_reshape.py,sha256=hkYCagnIg85vV8moLIHVA-WAya7r9ga16Y8WJoCmK28,1140
|
|
621
621
|
maxframe/tensor/statistics/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
622
622
|
maxframe/tensor/statistics/percentile.py,sha256=VvMIKNSawT2WaoyJofoBEvmli2w-7TkG9V0Au9Bg3Eo,6222
|
|
623
|
-
maxframe/tensor/statistics/quantile.py,sha256=
|
|
623
|
+
maxframe/tensor/statistics/quantile.py,sha256=2QshmOurJLJPHBhsyYz9brBWkcEzjzTjo2Wju_LD21o,9755
|
|
624
624
|
maxframe/tensor/ufunc/__init__.py,sha256=8QUi-cPvvbsD7i7LOeZ9sc0v1XXd7lt-XV5pQKbVZJs,821
|
|
625
625
|
maxframe/tensor/ufunc/ufunc.py,sha256=XRtGlhdrW7H--mrc8fTBOlUP0mzKpd9tdRtCuLDymtc,7383
|
|
626
626
|
maxframe/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
627
627
|
maxframe/tests/test_codegen.py,sha256=h3TKqP4zghxTn1twH7gR9jOe6NKXdCC1B4u0chlUrpY,2277
|
|
628
628
|
maxframe/tests/test_protocol.py,sha256=JkvsgGnbVSLu3VsUd_XT_qstcHPnKLzmoDBEXetaWT8,6281
|
|
629
629
|
maxframe/tests/test_utils.py,sha256=5Z2cym1tlpnF73f4I3WC1eBocsbNEDGzDErJL_fKWx8,11868
|
|
630
|
-
maxframe/tests/utils.py,sha256=
|
|
630
|
+
maxframe/tests/utils.py,sha256=t99jsFXhHme886zvXO5sl20stB5WFJsDH6KeHc5I9N0,5057
|
|
631
631
|
maxframe_client/__init__.py,sha256=hIVOnxj6AoN2zIMxQCzRb10k0LSoYS_DrQevXO9KPBg,705
|
|
632
632
|
maxframe_client/conftest.py,sha256=UWWMYjmohHL13hLl4adb0gZPLRdBVOYVvsFo6VZruI0,658
|
|
633
|
-
maxframe_client/fetcher.py,sha256=
|
|
633
|
+
maxframe_client/fetcher.py,sha256=i67AV-50WBXhQ49F_PO7Nc13y6ueZfsEluzLM8DThHI,9449
|
|
634
634
|
maxframe_client/clients/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
635
635
|
maxframe_client/clients/framedriver.py,sha256=upN6C1eZrCpLTsS6fihWOMy392psWfo0bw2XgSLI_Yg,4581
|
|
636
636
|
maxframe_client/session/__init__.py,sha256=9zFCd3zkSADESAFc4SPoQ2nkvRwsIhhpNNO2TtSaWbU,854
|
|
637
637
|
maxframe_client/session/consts.py,sha256=nD-D0zHXumbQI8w3aUyltJS59K5ftipf3xCtHNLmtc8,1380
|
|
638
638
|
maxframe_client/session/graph.py,sha256=GSZaJ-PV4DK8bTcNtoSoY5kDTyyIRAKleh4tOCSUbsI,4470
|
|
639
|
-
maxframe_client/session/odps.py,sha256=
|
|
639
|
+
maxframe_client/session/odps.py,sha256=1nhBT2DcGhd-kkQX72vOtdbBgFh3GV9buVk0TkwWRrE,19906
|
|
640
640
|
maxframe_client/session/task.py,sha256=8_ZN2xbMdkRy2XdgJpEmB35vhGxfL0Qluzd0NVTjPwE,11402
|
|
641
641
|
maxframe_client/session/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
642
642
|
maxframe_client/session/tests/test_task.py,sha256=861usEURVXeTUzfJYZmBfwsHfZFexG23mMtT5IJOOm4,3364
|
|
643
643
|
maxframe_client/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
|
|
644
|
-
maxframe_client/tests/test_fetcher.py,sha256=
|
|
645
|
-
maxframe_client/tests/test_session.py,sha256=
|
|
646
|
-
maxframe-1.0.
|
|
647
|
-
maxframe-1.0.
|
|
648
|
-
maxframe-1.0.
|
|
649
|
-
maxframe-1.0.
|
|
644
|
+
maxframe_client/tests/test_fetcher.py,sha256=qcgRxdNvIEuBzoOaqZg_Wk2KeJzmc3pxHwkmgUoln8E,4262
|
|
645
|
+
maxframe_client/tests/test_session.py,sha256=rsdJA14dv_QDcklKgnNWMBKbqbymi2RwoLgjiqRUXk8,10028
|
|
646
|
+
maxframe-1.0.0rc2.dist-info/METADATA,sha256=YSoS0qN4SYlglqj1Nu54N7S6ngvfJ0QBIAQKukxtiyg,5169
|
|
647
|
+
maxframe-1.0.0rc2.dist-info/WHEEL,sha256=VxE9UVzZaXHdBqcG8gU6NDY3a4lSIJMwSKG3dgCT07Y,97
|
|
648
|
+
maxframe-1.0.0rc2.dist-info/top_level.txt,sha256=64x-fc2q59c_vXwNUkehyjF1vb8JWqFSdYmUqIFqoTM,31
|
|
649
|
+
maxframe-1.0.0rc2.dist-info/RECORD,,
|
maxframe_client/fetcher.py
CHANGED
|
@@ -12,11 +12,9 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
import base64
|
|
16
|
-
import json
|
|
17
15
|
from abc import ABC, abstractmethod
|
|
18
16
|
from numbers import Integral
|
|
19
|
-
from typing import Any, Dict, List, Optional, Type, Union
|
|
17
|
+
from typing import Any, Dict, List, Optional, Tuple, Type, Union
|
|
20
18
|
|
|
21
19
|
import pandas as pd
|
|
22
20
|
import pyarrow as pa
|
|
@@ -28,7 +26,7 @@ from tornado import httpclient
|
|
|
28
26
|
from maxframe.core import OBJECT_TYPE
|
|
29
27
|
from maxframe.dataframe.core import DATAFRAME_TYPE
|
|
30
28
|
from maxframe.lib import wrapped_pickle as pickle
|
|
31
|
-
from maxframe.odpsio import
|
|
29
|
+
from maxframe.odpsio import ODPSTableIO, arrow_to_pandas, build_dataframe_table_meta
|
|
32
30
|
from maxframe.protocol import (
|
|
33
31
|
DataFrameTableMeta,
|
|
34
32
|
ODPSTableResultInfo,
|
|
@@ -38,7 +36,7 @@ from maxframe.protocol import (
|
|
|
38
36
|
)
|
|
39
37
|
from maxframe.tensor.core import TENSOR_TYPE
|
|
40
38
|
from maxframe.typing_ import PandasObjectTypes, TileableType
|
|
41
|
-
from maxframe.utils import ToThreadMixin
|
|
39
|
+
from maxframe.utils import ToThreadMixin
|
|
42
40
|
|
|
43
41
|
_result_fetchers: Dict[ResultType, Type["ResultFetcher"]] = dict()
|
|
44
42
|
|
|
@@ -109,17 +107,12 @@ class ODPSTableFetcher(ToThreadMixin, ResultFetcher):
|
|
|
109
107
|
tileable: TileableType,
|
|
110
108
|
info: ODPSTableResultInfo,
|
|
111
109
|
) -> None:
|
|
112
|
-
if
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
table_meta: DataFrameTableMeta = deserialize_serializable(
|
|
120
|
-
base64.b64decode(comment_data["table_meta"])
|
|
121
|
-
)
|
|
122
|
-
tileable.refresh_from_table_meta(table_meta)
|
|
110
|
+
if (
|
|
111
|
+
isinstance(tileable, DATAFRAME_TYPE)
|
|
112
|
+
and tileable.dtypes is None
|
|
113
|
+
and info.table_meta is not None
|
|
114
|
+
):
|
|
115
|
+
tileable.refresh_from_table_meta(info.table_meta)
|
|
123
116
|
|
|
124
117
|
if tileable.shape and any(pd.isna(x) for x in tileable.shape):
|
|
125
118
|
part_specs = [None] if not info.partition_specs else info.partition_specs
|
|
@@ -131,16 +124,39 @@ class ODPSTableFetcher(ToThreadMixin, ResultFetcher):
|
|
|
131
124
|
)
|
|
132
125
|
total_records += session.count
|
|
133
126
|
new_shape_list = list(tileable.shape)
|
|
134
|
-
new_shape_list[
|
|
127
|
+
new_shape_list[0] = total_records
|
|
135
128
|
tileable.params = {"shape": tuple(new_shape_list)}
|
|
136
129
|
|
|
130
|
+
@staticmethod
|
|
131
|
+
def _align_selection_with_shape(
|
|
132
|
+
row_sel: slice, shape: Tuple[Optional[int], ...]
|
|
133
|
+
) -> dict:
|
|
134
|
+
size = shape[0]
|
|
135
|
+
if not row_sel.start and not row_sel.stop:
|
|
136
|
+
return {}
|
|
137
|
+
is_reversed = row_sel.step is not None and row_sel.step < 0
|
|
138
|
+
read_kw = {
|
|
139
|
+
"start": row_sel.start,
|
|
140
|
+
"stop": row_sel.stop,
|
|
141
|
+
"reverse_range": is_reversed,
|
|
142
|
+
}
|
|
143
|
+
if pd.isna(size):
|
|
144
|
+
return read_kw
|
|
145
|
+
|
|
146
|
+
if is_reversed and row_sel.start is not None:
|
|
147
|
+
read_kw["start"] = min(size - 1, row_sel.start)
|
|
148
|
+
if not is_reversed and row_sel.stop is not None:
|
|
149
|
+
read_kw["stop"] = min(size, row_sel.stop)
|
|
150
|
+
return read_kw
|
|
151
|
+
|
|
137
152
|
def _read_single_source(
|
|
138
153
|
self,
|
|
139
154
|
table_meta: DataFrameTableMeta,
|
|
140
155
|
info: ODPSTableResultInfo,
|
|
141
156
|
indexes: List[Union[None, Integral, slice]],
|
|
157
|
+
shape: Tuple[Optional[int], ...],
|
|
142
158
|
):
|
|
143
|
-
table_io =
|
|
159
|
+
table_io = ODPSTableIO(self._odps_entry)
|
|
144
160
|
read_kw = {}
|
|
145
161
|
row_step = None
|
|
146
162
|
if indexes:
|
|
@@ -148,13 +164,8 @@ class ODPSTableFetcher(ToThreadMixin, ResultFetcher):
|
|
|
148
164
|
indexes += [None]
|
|
149
165
|
row_sel, col_sel = indexes
|
|
150
166
|
if isinstance(row_sel, slice):
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
read_kw["stop"] = row_sel.stop
|
|
154
|
-
read_kw["reverse_range"] = (
|
|
155
|
-
row_sel.step is not None and row_sel.step < 0
|
|
156
|
-
)
|
|
157
|
-
row_step = row_sel.step
|
|
167
|
+
row_step = row_sel.step
|
|
168
|
+
read_kw = self._align_selection_with_shape(row_sel, shape)
|
|
158
169
|
elif isinstance(row_sel, int):
|
|
159
170
|
read_kw["start"] = row_sel
|
|
160
171
|
read_kw["stop"] = row_sel + 1
|
|
@@ -173,8 +184,8 @@ class ODPSTableFetcher(ToThreadMixin, ResultFetcher):
|
|
|
173
184
|
with table_io.open_reader(
|
|
174
185
|
info.full_table_name, info.partition_specs, **read_kw
|
|
175
186
|
) as reader:
|
|
176
|
-
reader_count = reader.count
|
|
177
187
|
result = reader.read_all()
|
|
188
|
+
reader_count = result.num_rows
|
|
178
189
|
|
|
179
190
|
if not row_step:
|
|
180
191
|
return result
|
|
@@ -195,7 +206,7 @@ class ODPSTableFetcher(ToThreadMixin, ResultFetcher):
|
|
|
195
206
|
) -> PandasObjectTypes:
|
|
196
207
|
table_meta = build_dataframe_table_meta(tileable)
|
|
197
208
|
arrow_table: pa.Table = await self.to_thread(
|
|
198
|
-
self._read_single_source, table_meta, info, indexes
|
|
209
|
+
self._read_single_source, table_meta, info, indexes, tileable.shape
|
|
199
210
|
)
|
|
200
211
|
return arrow_to_pandas(arrow_table, table_meta)
|
|
201
212
|
|
maxframe_client/session/odps.py
CHANGED
|
@@ -36,7 +36,7 @@ from maxframe.errors import (
|
|
|
36
36
|
NoTaskServerResponseError,
|
|
37
37
|
SessionAlreadyClosedError,
|
|
38
38
|
)
|
|
39
|
-
from maxframe.odpsio import
|
|
39
|
+
from maxframe.odpsio import ODPSTableIO, pandas_to_arrow, pandas_to_odps_schema
|
|
40
40
|
from maxframe.protocol import (
|
|
41
41
|
DagInfo,
|
|
42
42
|
DagStatus,
|
|
@@ -164,8 +164,8 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
|
|
|
164
164
|
batch_size = options.session.upload_batch_size
|
|
165
165
|
|
|
166
166
|
if len(data):
|
|
167
|
-
|
|
168
|
-
with
|
|
167
|
+
table_client = ODPSTableIO(self._odps_entry)
|
|
168
|
+
with table_client.open_writer(table_obj.full_table_name) as writer:
|
|
169
169
|
for batch_start in range(0, len(data), batch_size):
|
|
170
170
|
if isinstance(data, pd.Index):
|
|
171
171
|
batch = data[batch_start : batch_start + batch_size]
|
|
@@ -188,7 +188,7 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
|
|
|
188
188
|
read_tileable.name = t.name
|
|
189
189
|
else: # INDEX_TYPE
|
|
190
190
|
if list(read_tileable.names) != list(t.names):
|
|
191
|
-
read_tileable.names =
|
|
191
|
+
read_tileable.rename(t.names, inplace=True)
|
|
192
192
|
read_tileable._key = t.key
|
|
193
193
|
read_tileable.params = t.params
|
|
194
194
|
return read_tileable.data
|
|
@@ -384,7 +384,7 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
|
|
|
384
384
|
data_tileable, indexes = self._get_data_tileable_and_indexes(tileable)
|
|
385
385
|
info = self._tileable_to_infos[data_tileable]
|
|
386
386
|
fetcher = get_fetcher_cls(info.result_type)(self._odps_entry)
|
|
387
|
-
results.append(await fetcher.fetch(
|
|
387
|
+
results.append(await fetcher.fetch(data_tileable, info, indexes))
|
|
388
388
|
return results
|
|
389
389
|
|
|
390
390
|
async def decref(self, *tileable_keys):
|
|
@@ -17,19 +17,32 @@ import uuid
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
import pandas as pd
|
|
19
19
|
import pyarrow as pa
|
|
20
|
+
import pytest
|
|
20
21
|
from odps import ODPS
|
|
21
22
|
|
|
22
23
|
import maxframe.dataframe as md
|
|
23
|
-
from maxframe.
|
|
24
|
+
from maxframe.config import options
|
|
25
|
+
from maxframe.odpsio import ODPSTableIO
|
|
24
26
|
from maxframe.protocol import ODPSTableResultInfo, ResultType
|
|
25
27
|
from maxframe.tests.utils import tn
|
|
26
28
|
|
|
27
29
|
from ..fetcher import ODPSTableFetcher
|
|
28
30
|
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
@pytest.fixture
|
|
33
|
+
def switch_table_io(request):
|
|
34
|
+
old_use_common_table = options.use_common_table
|
|
35
|
+
try:
|
|
36
|
+
options.use_common_table = request.param
|
|
37
|
+
yield
|
|
38
|
+
finally:
|
|
39
|
+
options.use_common_table = old_use_common_table
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@pytest.mark.parametrize("switch_table_io", [False, True], indirect=True)
|
|
43
|
+
async def test_table_fetcher(switch_table_io):
|
|
31
44
|
odps_entry = ODPS.from_environments()
|
|
32
|
-
halo_table_io =
|
|
45
|
+
halo_table_io = ODPSTableIO(odps_entry)
|
|
33
46
|
fetcher = ODPSTableFetcher(odps_entry)
|
|
34
47
|
|
|
35
48
|
data = pd.DataFrame(
|
|
@@ -58,6 +71,11 @@ async def test_table_fetcher():
|
|
|
58
71
|
assert len(fetched) == 1000
|
|
59
72
|
pd.testing.assert_frame_equal(raw_data, fetched)
|
|
60
73
|
|
|
74
|
+
result_info = ODPSTableResultInfo(ResultType.ODPS_TABLE, full_table_name=table_name)
|
|
75
|
+
fetched = await fetcher.fetch(tileable, result_info, [slice(None, 2000), None])
|
|
76
|
+
assert len(fetched) == 1000
|
|
77
|
+
pd.testing.assert_frame_equal(raw_data, fetched)
|
|
78
|
+
|
|
61
79
|
result_info = ODPSTableResultInfo(ResultType.ODPS_TABLE, full_table_name=table_name)
|
|
62
80
|
fetched = await fetcher.fetch(tileable, result_info, [2, None])
|
|
63
81
|
assert len(fetched) == 1
|
|
@@ -195,7 +195,8 @@ def test_run_dataframe_from_to_odps_table(start_mock_session):
|
|
|
195
195
|
assert len(result_df) == 10
|
|
196
196
|
assert len(result_df.columns) == 6
|
|
197
197
|
|
|
198
|
-
df = md.read_odps_table(table_obj, index_col="index").head(10).execute()
|
|
198
|
+
df = md.read_odps_table(table_obj, index_col="index").head(10).execute()
|
|
199
|
+
assert df.shape == (10, 5)
|
|
199
200
|
assert len(df) == 10
|
|
200
201
|
assert len(df.columns) == 5
|
|
201
202
|
finally:
|
|
@@ -280,7 +281,7 @@ def test_pivot_dataframe(start_mock_session):
|
|
|
280
281
|
df = md.DataFrame(pd_df)
|
|
281
282
|
pivot = df.pivot_table(values="D", index=["A", "B"], columns=["C"], aggfunc="sum")
|
|
282
283
|
executed = pivot.execute()
|
|
283
|
-
assert pivot.shape == (
|
|
284
|
+
assert pivot.shape == (4, 2)
|
|
284
285
|
pd.testing.assert_index_equal(
|
|
285
286
|
pivot.dtypes.index, pd.Index(["large", "small"], name="C")
|
|
286
287
|
)
|
|
@@ -289,3 +290,13 @@ def test_pivot_dataframe(start_mock_session):
|
|
|
289
290
|
values="D", index=["A", "B"], columns=["C"], aggfunc="sum"
|
|
290
291
|
)
|
|
291
292
|
pd.testing.assert_frame_equal(executed.to_pandas(), expected)
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
def test_index_drop_duplicates(start_mock_session):
|
|
296
|
+
pd_idx = pd.Index(["lame", "cow", "lame", "beetle", "lame", "hippo"])
|
|
297
|
+
idx = md.Index(pd_idx)
|
|
298
|
+
executed = idx.drop_duplicates(keep="first").execute()
|
|
299
|
+
expected = pd_idx.drop_duplicates(keep="first")
|
|
300
|
+
pd.testing.assert_index_equal(
|
|
301
|
+
executed.to_pandas().sort_values(), expected.sort_values()
|
|
302
|
+
)
|
|
File without changes
|