snowpark-connect 0.24.0__py3-none-any.whl → 0.25.0__py3-none-any.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 snowpark-connect might be problematic. Click here for more details.

Files changed (474) hide show
  1. snowflake/snowpark_connect/column_name_handler.py +116 -4
  2. snowflake/snowpark_connect/config.py +13 -0
  3. snowflake/snowpark_connect/constants.py +0 -29
  4. snowflake/snowpark_connect/dataframe_container.py +6 -0
  5. snowflake/snowpark_connect/execute_plan/map_execution_command.py +56 -1
  6. snowflake/snowpark_connect/expression/literal.py +13 -2
  7. snowflake/snowpark_connect/expression/map_cast.py +5 -8
  8. snowflake/snowpark_connect/expression/map_sql_expression.py +23 -1
  9. snowflake/snowpark_connect/expression/map_udf.py +26 -8
  10. snowflake/snowpark_connect/expression/map_unresolved_attribute.py +199 -15
  11. snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +44 -16
  12. snowflake/snowpark_connect/expression/map_unresolved_function.py +825 -353
  13. snowflake/snowpark_connect/expression/map_unresolved_star.py +3 -2
  14. snowflake/snowpark_connect/hidden_column.py +39 -0
  15. snowflake/snowpark_connect/includes/jars/hadoop-client-api-trimmed-3.3.4.jar +0 -0
  16. snowflake/snowpark_connect/includes/jars/{hadoop-client-api-3.3.4.jar → spark-connect-client-jvm_2.12-3.5.6.jar} +0 -0
  17. snowflake/snowpark_connect/relation/map_column_ops.py +17 -4
  18. snowflake/snowpark_connect/relation/map_extension.py +52 -11
  19. snowflake/snowpark_connect/relation/map_join.py +258 -62
  20. snowflake/snowpark_connect/relation/map_sql.py +88 -11
  21. snowflake/snowpark_connect/relation/map_udtf.py +4 -2
  22. snowflake/snowpark_connect/relation/read/map_read.py +3 -3
  23. snowflake/snowpark_connect/relation/read/map_read_jdbc.py +1 -1
  24. snowflake/snowpark_connect/relation/read/map_read_json.py +8 -1
  25. snowflake/snowpark_connect/relation/read/map_read_table.py +1 -9
  26. snowflake/snowpark_connect/relation/read/reader_config.py +3 -1
  27. snowflake/snowpark_connect/relation/write/map_write.py +62 -53
  28. snowflake/snowpark_connect/resources_initializer.py +29 -1
  29. snowflake/snowpark_connect/server.py +18 -3
  30. snowflake/snowpark_connect/type_mapping.py +29 -25
  31. snowflake/snowpark_connect/typed_column.py +14 -0
  32. snowflake/snowpark_connect/utils/artifacts.py +23 -0
  33. snowflake/snowpark_connect/utils/context.py +6 -1
  34. snowflake/snowpark_connect/utils/scala_udf_utils.py +588 -0
  35. snowflake/snowpark_connect/utils/telemetry.py +6 -17
  36. snowflake/snowpark_connect/utils/udf_helper.py +2 -0
  37. snowflake/snowpark_connect/utils/udf_utils.py +38 -7
  38. snowflake/snowpark_connect/utils/udtf_utils.py +17 -3
  39. snowflake/snowpark_connect/version.py +1 -1
  40. {snowpark_connect-0.24.0.dist-info → snowpark_connect-0.25.0.dist-info}/METADATA +1 -1
  41. snowpark_connect-0.25.0.dist-info/RECORD +477 -0
  42. snowflake/snowpark_connect/includes/jars/scala-compiler-2.12.18.jar +0 -0
  43. snowflake/snowpark_connect/includes/jars/spark-kubernetes_2.12-3.5.6.jar +0 -0
  44. snowflake/snowpark_connect/includes/jars/spark-mllib_2.12-3.5.6.jar +0 -0
  45. snowflake/snowpark_connect/includes/jars/spark-streaming_2.12-3.5.6.jar +0 -0
  46. snowflake/snowpark_connect/includes/python/pyspark/errors/tests/__init__.py +0 -16
  47. snowflake/snowpark_connect/includes/python/pyspark/errors/tests/test_errors.py +0 -60
  48. snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/tests/test_deepspeed_distributor.py +0 -306
  49. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/__init__.py +0 -16
  50. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_classification.py +0 -53
  51. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_evaluation.py +0 -50
  52. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_feature.py +0 -43
  53. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_function.py +0 -114
  54. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_pipeline.py +0 -47
  55. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_summarizer.py +0 -43
  56. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_tuning.py +0 -46
  57. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_classification.py +0 -238
  58. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_evaluation.py +0 -194
  59. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_feature.py +0 -156
  60. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_pipeline.py +0 -184
  61. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_summarizer.py +0 -78
  62. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_tuning.py +0 -292
  63. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_parity_torch_data_loader.py +0 -50
  64. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_parity_torch_distributor.py +0 -152
  65. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_algorithms.py +0 -456
  66. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_base.py +0 -96
  67. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_dl_util.py +0 -186
  68. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_evaluation.py +0 -77
  69. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_feature.py +0 -401
  70. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_functions.py +0 -528
  71. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_image.py +0 -82
  72. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_linalg.py +0 -409
  73. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_model_cache.py +0 -55
  74. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_param.py +0 -441
  75. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_persistence.py +0 -546
  76. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_pipeline.py +0 -71
  77. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_stat.py +0 -52
  78. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_training_summary.py +0 -494
  79. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_util.py +0 -85
  80. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_wrapper.py +0 -138
  81. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/__init__.py +0 -16
  82. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_cv_io_basic.py +0 -151
  83. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_cv_io_nested.py +0 -97
  84. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_cv_io_pipeline.py +0 -143
  85. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_tuning.py +0 -551
  86. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_tvs_io_basic.py +0 -137
  87. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_tvs_io_nested.py +0 -96
  88. snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_tvs_io_pipeline.py +0 -142
  89. snowflake/snowpark_connect/includes/python/pyspark/ml/torch/tests/__init__.py +0 -16
  90. snowflake/snowpark_connect/includes/python/pyspark/ml/torch/tests/test_data_loader.py +0 -137
  91. snowflake/snowpark_connect/includes/python/pyspark/ml/torch/tests/test_distributor.py +0 -561
  92. snowflake/snowpark_connect/includes/python/pyspark/ml/torch/tests/test_log_communication.py +0 -172
  93. snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/__init__.py +0 -16
  94. snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_algorithms.py +0 -353
  95. snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_feature.py +0 -192
  96. snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_linalg.py +0 -680
  97. snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_stat.py +0 -206
  98. snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_streaming_algorithms.py +0 -471
  99. snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_util.py +0 -108
  100. snowflake/snowpark_connect/includes/python/pyspark/pandas/spark/__init__.py +0 -16
  101. snowflake/snowpark_connect/includes/python/pyspark/pandas/spark/accessors.py +0 -1281
  102. snowflake/snowpark_connect/includes/python/pyspark/pandas/spark/functions.py +0 -203
  103. snowflake/snowpark_connect/includes/python/pyspark/pandas/spark/utils.py +0 -202
  104. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/__init__.py +0 -16
  105. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/__init__.py +0 -16
  106. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_any_all.py +0 -177
  107. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_apply_func.py +0 -575
  108. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_binary_ops.py +0 -235
  109. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_combine.py +0 -653
  110. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_compute.py +0 -463
  111. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_corrwith.py +0 -86
  112. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_cov.py +0 -151
  113. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_cumulative.py +0 -139
  114. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_describe.py +0 -458
  115. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_eval.py +0 -86
  116. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_melt.py +0 -202
  117. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_missing_data.py +0 -520
  118. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_pivot.py +0 -361
  119. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/__init__.py +0 -16
  120. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/__init__.py +0 -16
  121. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_any_all.py +0 -40
  122. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_apply_func.py +0 -42
  123. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_binary_ops.py +0 -40
  124. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_combine.py +0 -37
  125. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_compute.py +0 -60
  126. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_corrwith.py +0 -40
  127. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_cov.py +0 -40
  128. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_cumulative.py +0 -90
  129. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_describe.py +0 -40
  130. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_eval.py +0 -40
  131. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_melt.py +0 -40
  132. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_missing_data.py +0 -42
  133. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_pivot.py +0 -37
  134. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/__init__.py +0 -16
  135. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_base.py +0 -36
  136. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_binary_ops.py +0 -42
  137. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_boolean_ops.py +0 -47
  138. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_categorical_ops.py +0 -55
  139. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_complex_ops.py +0 -40
  140. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_date_ops.py +0 -47
  141. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_datetime_ops.py +0 -47
  142. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_null_ops.py +0 -42
  143. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_num_arithmetic.py +0 -43
  144. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_num_ops.py +0 -47
  145. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_num_reverse.py +0 -43
  146. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_string_ops.py +0 -47
  147. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_timedelta_ops.py +0 -47
  148. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_udt_ops.py +0 -40
  149. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/testing_utils.py +0 -226
  150. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/__init__.py +0 -16
  151. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_align.py +0 -39
  152. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_basic_slow.py +0 -55
  153. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_cov_corrwith.py +0 -39
  154. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_dot_frame.py +0 -39
  155. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_dot_series.py +0 -39
  156. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_index.py +0 -39
  157. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_series.py +0 -39
  158. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_setitem_frame.py +0 -43
  159. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_setitem_series.py +0 -43
  160. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/__init__.py +0 -16
  161. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_attrs.py +0 -40
  162. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_constructor.py +0 -39
  163. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_conversion.py +0 -42
  164. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_reindexing.py +0 -42
  165. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_reshaping.py +0 -37
  166. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_spark.py +0 -40
  167. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_take.py +0 -42
  168. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_time_series.py +0 -48
  169. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_truncate.py +0 -40
  170. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/__init__.py +0 -16
  171. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_aggregate.py +0 -40
  172. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_apply_func.py +0 -41
  173. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_cumulative.py +0 -67
  174. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_describe.py +0 -40
  175. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_groupby.py +0 -55
  176. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_head_tail.py +0 -40
  177. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_index.py +0 -38
  178. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_missing_data.py +0 -55
  179. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_split_apply.py +0 -39
  180. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_stat.py +0 -38
  181. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/__init__.py +0 -16
  182. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_align.py +0 -40
  183. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_base.py +0 -50
  184. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_category.py +0 -73
  185. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_datetime.py +0 -39
  186. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_indexing.py +0 -40
  187. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_reindex.py +0 -40
  188. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_rename.py +0 -40
  189. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_reset_index.py +0 -48
  190. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_timedelta.py +0 -39
  191. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/io/__init__.py +0 -16
  192. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/io/test_parity_io.py +0 -40
  193. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/__init__.py +0 -16
  194. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_frame_plot.py +0 -45
  195. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_frame_plot_matplotlib.py +0 -45
  196. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_frame_plot_plotly.py +0 -49
  197. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_series_plot.py +0 -37
  198. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_series_plot_matplotlib.py +0 -53
  199. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_series_plot_plotly.py +0 -45
  200. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/__init__.py +0 -16
  201. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_all_any.py +0 -38
  202. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_arg_ops.py +0 -37
  203. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_as_of.py +0 -37
  204. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_as_type.py +0 -38
  205. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_compute.py +0 -37
  206. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_conversion.py +0 -40
  207. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_cumulative.py +0 -40
  208. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_index.py +0 -38
  209. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_missing_data.py +0 -40
  210. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_series.py +0 -37
  211. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_sort.py +0 -38
  212. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_stat.py +0 -38
  213. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_categorical.py +0 -66
  214. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_config.py +0 -37
  215. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_csv.py +0 -37
  216. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_dataframe_conversion.py +0 -42
  217. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_dataframe_spark_io.py +0 -39
  218. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_default_index.py +0 -49
  219. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ewm.py +0 -37
  220. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_expanding.py +0 -39
  221. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_extension.py +0 -49
  222. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_frame_spark.py +0 -53
  223. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_generic_functions.py +0 -43
  224. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_indexing.py +0 -49
  225. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_indexops_spark.py +0 -39
  226. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_internal.py +0 -41
  227. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_namespace.py +0 -39
  228. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_numpy_compat.py +0 -60
  229. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ops_on_diff_frames.py +0 -48
  230. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ops_on_diff_frames_groupby.py +0 -39
  231. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ops_on_diff_frames_groupby_expanding.py +0 -44
  232. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ops_on_diff_frames_groupby_rolling.py +0 -84
  233. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_repr.py +0 -37
  234. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_resample.py +0 -45
  235. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_reshape.py +0 -39
  236. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_rolling.py +0 -39
  237. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_scalars.py +0 -37
  238. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_series_conversion.py +0 -39
  239. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_series_datetime.py +0 -39
  240. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_series_string.py +0 -39
  241. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_spark_functions.py +0 -39
  242. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_sql.py +0 -43
  243. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_stats.py +0 -37
  244. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_typedef.py +0 -36
  245. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_utils.py +0 -37
  246. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_window.py +0 -39
  247. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/__init__.py +0 -16
  248. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_base.py +0 -107
  249. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_binary_ops.py +0 -224
  250. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_boolean_ops.py +0 -825
  251. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_categorical_ops.py +0 -562
  252. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_complex_ops.py +0 -368
  253. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_date_ops.py +0 -257
  254. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_datetime_ops.py +0 -260
  255. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_null_ops.py +0 -178
  256. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_num_arithmetic.py +0 -184
  257. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_num_ops.py +0 -497
  258. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_num_reverse.py +0 -140
  259. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_string_ops.py +0 -354
  260. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_timedelta_ops.py +0 -219
  261. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_udt_ops.py +0 -192
  262. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/testing_utils.py +0 -228
  263. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/__init__.py +0 -16
  264. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_align.py +0 -118
  265. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_basic_slow.py +0 -198
  266. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_cov_corrwith.py +0 -181
  267. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_dot_frame.py +0 -103
  268. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_dot_series.py +0 -141
  269. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_index.py +0 -109
  270. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_series.py +0 -136
  271. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_setitem_frame.py +0 -125
  272. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_setitem_series.py +0 -217
  273. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/__init__.py +0 -16
  274. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_attrs.py +0 -384
  275. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_constructor.py +0 -598
  276. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_conversion.py +0 -73
  277. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_reindexing.py +0 -869
  278. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_reshaping.py +0 -487
  279. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_spark.py +0 -309
  280. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_take.py +0 -156
  281. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_time_series.py +0 -149
  282. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_truncate.py +0 -163
  283. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/__init__.py +0 -16
  284. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_aggregate.py +0 -311
  285. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_apply_func.py +0 -524
  286. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_cumulative.py +0 -419
  287. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_describe.py +0 -144
  288. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_groupby.py +0 -979
  289. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_head_tail.py +0 -234
  290. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_index.py +0 -206
  291. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_missing_data.py +0 -421
  292. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_split_apply.py +0 -187
  293. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_stat.py +0 -397
  294. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/__init__.py +0 -16
  295. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_align.py +0 -100
  296. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_base.py +0 -2743
  297. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_category.py +0 -484
  298. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_datetime.py +0 -276
  299. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_indexing.py +0 -432
  300. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_reindex.py +0 -310
  301. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_rename.py +0 -257
  302. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_reset_index.py +0 -160
  303. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_timedelta.py +0 -128
  304. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/io/__init__.py +0 -16
  305. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/io/test_io.py +0 -137
  306. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/__init__.py +0 -16
  307. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_frame_plot.py +0 -170
  308. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_frame_plot_matplotlib.py +0 -547
  309. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_frame_plot_plotly.py +0 -285
  310. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_series_plot.py +0 -106
  311. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_series_plot_matplotlib.py +0 -409
  312. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_series_plot_plotly.py +0 -247
  313. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/__init__.py +0 -16
  314. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_all_any.py +0 -105
  315. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_arg_ops.py +0 -197
  316. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_as_of.py +0 -137
  317. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_as_type.py +0 -227
  318. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_compute.py +0 -634
  319. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_conversion.py +0 -88
  320. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_cumulative.py +0 -139
  321. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_index.py +0 -475
  322. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_missing_data.py +0 -265
  323. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_series.py +0 -818
  324. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_sort.py +0 -162
  325. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_stat.py +0 -780
  326. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_categorical.py +0 -741
  327. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_config.py +0 -160
  328. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_csv.py +0 -453
  329. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_dataframe_conversion.py +0 -281
  330. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_dataframe_spark_io.py +0 -487
  331. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_default_index.py +0 -109
  332. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ewm.py +0 -434
  333. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_expanding.py +0 -253
  334. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_extension.py +0 -152
  335. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_frame_spark.py +0 -162
  336. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_generic_functions.py +0 -234
  337. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_indexing.py +0 -1339
  338. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_indexops_spark.py +0 -82
  339. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_internal.py +0 -124
  340. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_namespace.py +0 -638
  341. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_numpy_compat.py +0 -200
  342. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ops_on_diff_frames.py +0 -1355
  343. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ops_on_diff_frames_groupby.py +0 -655
  344. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ops_on_diff_frames_groupby_expanding.py +0 -113
  345. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ops_on_diff_frames_groupby_rolling.py +0 -118
  346. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_repr.py +0 -192
  347. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_resample.py +0 -346
  348. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_reshape.py +0 -495
  349. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_rolling.py +0 -263
  350. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_scalars.py +0 -59
  351. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_series_conversion.py +0 -85
  352. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_series_datetime.py +0 -364
  353. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_series_string.py +0 -362
  354. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_spark_functions.py +0 -46
  355. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_sql.py +0 -123
  356. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_stats.py +0 -581
  357. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_typedef.py +0 -447
  358. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_utils.py +0 -301
  359. snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_window.py +0 -465
  360. snowflake/snowpark_connect/includes/python/pyspark/resource/tests/__init__.py +0 -16
  361. snowflake/snowpark_connect/includes/python/pyspark/resource/tests/test_resources.py +0 -83
  362. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/__init__.py +0 -16
  363. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/__init__.py +0 -16
  364. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/client/__init__.py +0 -16
  365. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/client/test_artifact.py +0 -420
  366. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/client/test_client.py +0 -358
  367. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/__init__.py +0 -16
  368. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/test_parity_foreach.py +0 -36
  369. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/test_parity_foreach_batch.py +0 -44
  370. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/test_parity_listener.py +0 -116
  371. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/test_parity_streaming.py +0 -35
  372. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_connect_basic.py +0 -3612
  373. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_connect_column.py +0 -1042
  374. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_connect_function.py +0 -2381
  375. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_connect_plan.py +0 -1060
  376. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_arrow.py +0 -163
  377. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_arrow_map.py +0 -38
  378. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_arrow_python_udf.py +0 -48
  379. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_catalog.py +0 -36
  380. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_column.py +0 -55
  381. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_conf.py +0 -36
  382. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_dataframe.py +0 -96
  383. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_datasources.py +0 -44
  384. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_errors.py +0 -36
  385. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_functions.py +0 -59
  386. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_group.py +0 -36
  387. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_cogrouped_map.py +0 -59
  388. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_grouped_map.py +0 -74
  389. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_grouped_map_with_state.py +0 -62
  390. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_map.py +0 -58
  391. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_udf.py +0 -70
  392. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_udf_grouped_agg.py +0 -50
  393. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_udf_scalar.py +0 -68
  394. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_udf_window.py +0 -40
  395. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_readwriter.py +0 -46
  396. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_serde.py +0 -44
  397. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_types.py +0 -100
  398. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_udf.py +0 -100
  399. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_udtf.py +0 -163
  400. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_session.py +0 -181
  401. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_utils.py +0 -42
  402. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/__init__.py +0 -16
  403. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_cogrouped_map.py +0 -623
  404. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_grouped_map.py +0 -869
  405. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_grouped_map_with_state.py +0 -342
  406. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_map.py +0 -436
  407. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf.py +0 -363
  408. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_grouped_agg.py +0 -592
  409. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_scalar.py +0 -1503
  410. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_typehints.py +0 -392
  411. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_typehints_with_future_annotations.py +0 -375
  412. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_window.py +0 -411
  413. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/__init__.py +0 -16
  414. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/test_streaming.py +0 -401
  415. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/test_streaming_foreach.py +0 -295
  416. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/test_streaming_foreach_batch.py +0 -106
  417. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/test_streaming_listener.py +0 -558
  418. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_arrow.py +0 -1346
  419. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_arrow_map.py +0 -182
  420. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_arrow_python_udf.py +0 -202
  421. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_catalog.py +0 -503
  422. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_column.py +0 -225
  423. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_conf.py +0 -83
  424. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_context.py +0 -201
  425. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_dataframe.py +0 -1931
  426. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_datasources.py +0 -256
  427. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_errors.py +0 -69
  428. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_functions.py +0 -1349
  429. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_group.py +0 -53
  430. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_pandas_sqlmetrics.py +0 -68
  431. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_readwriter.py +0 -283
  432. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_serde.py +0 -155
  433. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_session.py +0 -412
  434. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_types.py +0 -1581
  435. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_udf.py +0 -961
  436. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_udf_profiler.py +0 -165
  437. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_udtf.py +0 -1456
  438. snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_utils.py +0 -1686
  439. snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/__init__.py +0 -16
  440. snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/test_context.py +0 -184
  441. snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/test_dstream.py +0 -706
  442. snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/test_kinesis.py +0 -118
  443. snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/test_listener.py +0 -160
  444. snowflake/snowpark_connect/includes/python/pyspark/tests/__init__.py +0 -16
  445. snowflake/snowpark_connect/includes/python/pyspark/tests/test_appsubmit.py +0 -306
  446. snowflake/snowpark_connect/includes/python/pyspark/tests/test_broadcast.py +0 -196
  447. snowflake/snowpark_connect/includes/python/pyspark/tests/test_conf.py +0 -44
  448. snowflake/snowpark_connect/includes/python/pyspark/tests/test_context.py +0 -346
  449. snowflake/snowpark_connect/includes/python/pyspark/tests/test_daemon.py +0 -89
  450. snowflake/snowpark_connect/includes/python/pyspark/tests/test_install_spark.py +0 -124
  451. snowflake/snowpark_connect/includes/python/pyspark/tests/test_join.py +0 -69
  452. snowflake/snowpark_connect/includes/python/pyspark/tests/test_memory_profiler.py +0 -167
  453. snowflake/snowpark_connect/includes/python/pyspark/tests/test_pin_thread.py +0 -194
  454. snowflake/snowpark_connect/includes/python/pyspark/tests/test_profiler.py +0 -168
  455. snowflake/snowpark_connect/includes/python/pyspark/tests/test_rdd.py +0 -939
  456. snowflake/snowpark_connect/includes/python/pyspark/tests/test_rddbarrier.py +0 -52
  457. snowflake/snowpark_connect/includes/python/pyspark/tests/test_rddsampler.py +0 -66
  458. snowflake/snowpark_connect/includes/python/pyspark/tests/test_readwrite.py +0 -368
  459. snowflake/snowpark_connect/includes/python/pyspark/tests/test_serializers.py +0 -257
  460. snowflake/snowpark_connect/includes/python/pyspark/tests/test_shuffle.py +0 -267
  461. snowflake/snowpark_connect/includes/python/pyspark/tests/test_stage_sched.py +0 -153
  462. snowflake/snowpark_connect/includes/python/pyspark/tests/test_statcounter.py +0 -130
  463. snowflake/snowpark_connect/includes/python/pyspark/tests/test_taskcontext.py +0 -350
  464. snowflake/snowpark_connect/includes/python/pyspark/tests/test_util.py +0 -97
  465. snowflake/snowpark_connect/includes/python/pyspark/tests/test_worker.py +0 -271
  466. snowpark_connect-0.24.0.dist-info/RECORD +0 -898
  467. {snowpark_connect-0.24.0.data → snowpark_connect-0.25.0.data}/scripts/snowpark-connect +0 -0
  468. {snowpark_connect-0.24.0.data → snowpark_connect-0.25.0.data}/scripts/snowpark-session +0 -0
  469. {snowpark_connect-0.24.0.data → snowpark_connect-0.25.0.data}/scripts/snowpark-submit +0 -0
  470. {snowpark_connect-0.24.0.dist-info → snowpark_connect-0.25.0.dist-info}/WHEEL +0 -0
  471. {snowpark_connect-0.24.0.dist-info → snowpark_connect-0.25.0.dist-info}/licenses/LICENSE-binary +0 -0
  472. {snowpark_connect-0.24.0.dist-info → snowpark_connect-0.25.0.dist-info}/licenses/LICENSE.txt +0 -0
  473. {snowpark_connect-0.24.0.dist-info → snowpark_connect-0.25.0.dist-info}/licenses/NOTICE-binary +0 -0
  474. {snowpark_connect-0.24.0.dist-info → snowpark_connect-0.25.0.dist-info}/top_level.txt +0 -0
@@ -1,780 +0,0 @@
1
- #
2
- # Licensed to the Apache Software Foundation (ASF) under one or more
3
- # contributor license agreements. See the NOTICE file distributed with
4
- # this work for additional information regarding copyright ownership.
5
- # The ASF licenses this file to You under the Apache License, Version 2.0
6
- # (the "License"); you may not use this file except in compliance with
7
- # the License. You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
- #
17
- import unittest
18
- from distutils.version import LooseVersion
19
-
20
- import numpy as np
21
- import pandas as pd
22
- from decimal import Decimal
23
-
24
- from pyspark import pandas as ps
25
- from pyspark.testing.pandasutils import ComparisonTestBase
26
- from pyspark.testing.sqlutils import SQLTestUtils
27
-
28
-
29
- class SeriesStatMixin:
30
- @property
31
- def pser(self):
32
- return pd.Series([1, 2, 3, 4, 5, 6, 7], name="x")
33
-
34
- @property
35
- def psser(self):
36
- return ps.from_pandas(self.pser)
37
-
38
- def test_nunique(self):
39
- pser = pd.Series([1, 2, 1, np.nan])
40
- psser = ps.from_pandas(pser)
41
-
42
- # Assert NaNs are dropped by default
43
- nunique_result = psser.nunique()
44
- self.assertEqual(nunique_result, 2)
45
- self.assert_eq(nunique_result, pser.nunique())
46
-
47
- # Assert including NaN values
48
- nunique_result = psser.nunique(dropna=False)
49
- self.assertEqual(nunique_result, 3)
50
- self.assert_eq(nunique_result, pser.nunique(dropna=False))
51
-
52
- # Assert approximate counts
53
- self.assertEqual(ps.Series(range(100)).nunique(approx=True), 103)
54
- self.assertEqual(ps.Series(range(100)).nunique(approx=True, rsd=0.01), 100)
55
-
56
- @unittest.skipIf(
57
- LooseVersion(pd.__version__) >= LooseVersion("2.0.0"),
58
- "TODO(SPARK-43464): Enable SeriesTests.test_value_counts for pandas 2.0.0.",
59
- )
60
- def test_value_counts(self):
61
- # this is also containing test for Index & MultiIndex
62
- pser = pd.Series(
63
- [1, 2, 1, 3, 3, np.nan, 1, 4, 2, np.nan, 3, np.nan, 3, 1, 3],
64
- index=[1, 2, 1, 3, 3, np.nan, 1, 4, 2, np.nan, 3, np.nan, 3, 1, 3],
65
- name="x",
66
- )
67
- psser = ps.from_pandas(pser)
68
-
69
- exp = pser.value_counts()
70
- res = psser.value_counts()
71
- self.assertEqual(res.name, exp.name)
72
- self.assert_eq(res, exp)
73
-
74
- self.assert_eq(psser.value_counts(normalize=True), pser.value_counts(normalize=True))
75
- self.assert_eq(psser.value_counts(ascending=True), pser.value_counts(ascending=True))
76
- self.assert_eq(
77
- psser.value_counts(normalize=True, dropna=False),
78
- pser.value_counts(normalize=True, dropna=False),
79
- )
80
- self.assert_eq(
81
- psser.value_counts(ascending=True, dropna=False),
82
- pser.value_counts(ascending=True, dropna=False),
83
- )
84
-
85
- self.assert_eq(
86
- psser.index.value_counts(normalize=True), pser.index.value_counts(normalize=True)
87
- )
88
- self.assert_eq(
89
- psser.index.value_counts(ascending=True), pser.index.value_counts(ascending=True)
90
- )
91
- self.assert_eq(
92
- psser.index.value_counts(normalize=True, dropna=False),
93
- pser.index.value_counts(normalize=True, dropna=False),
94
- )
95
- self.assert_eq(
96
- psser.index.value_counts(ascending=True, dropna=False),
97
- pser.index.value_counts(ascending=True, dropna=False),
98
- )
99
-
100
- with self.assertRaisesRegex(
101
- NotImplementedError, "value_counts currently does not support bins"
102
- ):
103
- psser.value_counts(bins=3)
104
-
105
- pser.name = "index"
106
- psser.name = "index"
107
- self.assert_eq(psser.value_counts(), pser.value_counts())
108
-
109
- # Series from DataFrame
110
- pdf = pd.DataFrame({"a": [2, 2, 3], "b": [None, 1, None]})
111
- psdf = ps.from_pandas(pdf)
112
-
113
- self.assert_eq(psdf.a.value_counts(normalize=True), pdf.a.value_counts(normalize=True))
114
- self.assert_eq(psdf.a.value_counts(ascending=True), pdf.a.value_counts(ascending=True))
115
- self.assert_eq(
116
- psdf.a.value_counts(normalize=True, dropna=False),
117
- pdf.a.value_counts(normalize=True, dropna=False),
118
- )
119
- self.assert_eq(
120
- psdf.a.value_counts(ascending=True, dropna=False),
121
- pdf.a.value_counts(ascending=True, dropna=False),
122
- )
123
-
124
- self.assert_eq(
125
- psser.index.value_counts(normalize=True), pser.index.value_counts(normalize=True)
126
- )
127
- self.assert_eq(
128
- psser.index.value_counts(ascending=True), pser.index.value_counts(ascending=True)
129
- )
130
- self.assert_eq(
131
- psser.index.value_counts(normalize=True, dropna=False),
132
- pser.index.value_counts(normalize=True, dropna=False),
133
- )
134
- self.assert_eq(
135
- psser.index.value_counts(ascending=True, dropna=False),
136
- pser.index.value_counts(ascending=True, dropna=False),
137
- )
138
-
139
- # Series with NaN index
140
- pser = pd.Series([3, 2, 3, 1, 2, 3], index=[2.0, None, 5.0, 5.0, None, 5.0])
141
- psser = ps.from_pandas(pser)
142
-
143
- self.assert_eq(psser.value_counts(normalize=True), pser.value_counts(normalize=True))
144
- self.assert_eq(psser.value_counts(ascending=True), pser.value_counts(ascending=True))
145
- self.assert_eq(
146
- psser.value_counts(normalize=True, dropna=False),
147
- pser.value_counts(normalize=True, dropna=False),
148
- )
149
- self.assert_eq(
150
- psser.value_counts(ascending=True, dropna=False),
151
- pser.value_counts(ascending=True, dropna=False),
152
- )
153
-
154
- self.assert_eq(
155
- psser.index.value_counts(normalize=True), pser.index.value_counts(normalize=True)
156
- )
157
- self.assert_eq(
158
- psser.index.value_counts(ascending=True), pser.index.value_counts(ascending=True)
159
- )
160
- self.assert_eq(
161
- psser.index.value_counts(normalize=True, dropna=False),
162
- pser.index.value_counts(normalize=True, dropna=False),
163
- )
164
- self.assert_eq(
165
- psser.index.value_counts(ascending=True, dropna=False),
166
- pser.index.value_counts(ascending=True, dropna=False),
167
- )
168
-
169
- # Series with MultiIndex
170
- pser.index = pd.MultiIndex.from_tuples(
171
- [("x", "a"), ("x", "b"), ("y", "c"), ("x", "a"), ("y", "c"), ("x", "a")]
172
- )
173
- psser = ps.from_pandas(pser)
174
-
175
- self.assert_eq(psser.value_counts(normalize=True), pser.value_counts(normalize=True))
176
- self.assert_eq(psser.value_counts(ascending=True), pser.value_counts(ascending=True))
177
- self.assert_eq(
178
- psser.value_counts(normalize=True, dropna=False),
179
- pser.value_counts(normalize=True, dropna=False),
180
- )
181
- self.assert_eq(
182
- psser.value_counts(ascending=True, dropna=False),
183
- pser.value_counts(ascending=True, dropna=False),
184
- )
185
-
186
- # FIXME: MultiIndex.value_counts returns wrong indices.
187
- self.assert_eq(
188
- psser.index.value_counts(normalize=True),
189
- pser.index.value_counts(normalize=True),
190
- almost=True,
191
- )
192
- self.assert_eq(
193
- psser.index.value_counts(ascending=True),
194
- pser.index.value_counts(ascending=True),
195
- almost=True,
196
- )
197
- self.assert_eq(
198
- psser.index.value_counts(normalize=True, dropna=False),
199
- pser.index.value_counts(normalize=True, dropna=False),
200
- almost=True,
201
- )
202
- self.assert_eq(
203
- psser.index.value_counts(ascending=True, dropna=False),
204
- pser.index.value_counts(ascending=True, dropna=False),
205
- almost=True,
206
- )
207
-
208
- # Series with MultiIndex some of index has NaN
209
- pser.index = pd.MultiIndex.from_tuples(
210
- [("x", "a"), ("x", None), ("y", "c"), ("x", "a"), ("y", "c"), ("x", "a")]
211
- )
212
- psser = ps.from_pandas(pser)
213
-
214
- self.assert_eq(psser.value_counts(normalize=True), pser.value_counts(normalize=True))
215
- self.assert_eq(psser.value_counts(ascending=True), pser.value_counts(ascending=True))
216
- self.assert_eq(
217
- psser.value_counts(normalize=True, dropna=False),
218
- pser.value_counts(normalize=True, dropna=False),
219
- )
220
- self.assert_eq(
221
- psser.value_counts(ascending=True, dropna=False),
222
- pser.value_counts(ascending=True, dropna=False),
223
- )
224
-
225
- # FIXME: MultiIndex.value_counts returns wrong indices.
226
- self.assert_eq(
227
- psser.index.value_counts(normalize=True),
228
- pser.index.value_counts(normalize=True),
229
- almost=True,
230
- )
231
- self.assert_eq(
232
- psser.index.value_counts(ascending=True),
233
- pser.index.value_counts(ascending=True),
234
- almost=True,
235
- )
236
- self.assert_eq(
237
- psser.index.value_counts(normalize=True, dropna=False),
238
- pser.index.value_counts(normalize=True, dropna=False),
239
- almost=True,
240
- )
241
- self.assert_eq(
242
- psser.index.value_counts(ascending=True, dropna=False),
243
- pser.index.value_counts(ascending=True, dropna=False),
244
- almost=True,
245
- )
246
-
247
- # Series with MultiIndex some of index is NaN.
248
- pser.index = pd.MultiIndex.from_tuples(
249
- [("x", "a"), None, ("y", "c"), ("x", "a"), ("y", "c"), ("x", "a")]
250
- )
251
- psser = ps.from_pandas(pser)
252
-
253
- self.assert_eq(psser.value_counts(normalize=True), pser.value_counts(normalize=True))
254
- self.assert_eq(psser.value_counts(ascending=True), pser.value_counts(ascending=True))
255
- self.assert_eq(
256
- psser.value_counts(normalize=True, dropna=False),
257
- pser.value_counts(normalize=True, dropna=False),
258
- )
259
- self.assert_eq(
260
- psser.value_counts(ascending=True, dropna=False),
261
- pser.value_counts(ascending=True, dropna=False),
262
- )
263
-
264
- # FIXME: MultiIndex.value_counts returns wrong indices.
265
- self.assert_eq(
266
- psser.index.value_counts(normalize=True),
267
- pser.index.value_counts(normalize=True),
268
- almost=True,
269
- )
270
- self.assert_eq(
271
- psser.index.value_counts(ascending=True),
272
- pser.index.value_counts(ascending=True),
273
- almost=True,
274
- )
275
- self.assert_eq(
276
- psser.index.value_counts(normalize=True, dropna=False),
277
- pser.index.value_counts(normalize=True, dropna=False),
278
- almost=True,
279
- )
280
- self.assert_eq(
281
- psser.index.value_counts(ascending=True, dropna=False),
282
- pser.index.value_counts(ascending=True, dropna=False),
283
- almost=True,
284
- )
285
-
286
- def test_nsmallest(self):
287
- sample_lst = [1, 2, 3, 4, np.nan, 6]
288
- pser = pd.Series(sample_lst, name="x")
289
- psser = ps.Series(sample_lst, name="x")
290
- self.assert_eq(psser.nsmallest(n=3), pser.nsmallest(n=3))
291
- self.assert_eq(psser.nsmallest(), pser.nsmallest())
292
- self.assert_eq((psser + 1).nsmallest(), (pser + 1).nsmallest())
293
-
294
- def test_nlargest(self):
295
- sample_lst = [1, 2, 3, 4, np.nan, 6]
296
- pser = pd.Series(sample_lst, name="x")
297
- psser = ps.Series(sample_lst, name="x")
298
- self.assert_eq(psser.nlargest(n=3), pser.nlargest(n=3))
299
- self.assert_eq(psser.nlargest(), pser.nlargest())
300
- self.assert_eq((psser + 1).nlargest(), (pser + 1).nlargest())
301
-
302
- def test_is_unique(self):
303
- # We can't use pandas' is_unique for comparison. pandas 0.23 ignores None
304
- pser = pd.Series([1, 2, 2, None, None])
305
- psser = ps.from_pandas(pser)
306
- self.assertEqual(False, psser.is_unique)
307
- self.assertEqual(False, (psser + 1).is_unique)
308
-
309
- pser = pd.Series([1, None, None])
310
- psser = ps.from_pandas(pser)
311
- self.assertEqual(False, psser.is_unique)
312
- self.assertEqual(False, (psser + 1).is_unique)
313
-
314
- pser = pd.Series([1])
315
- psser = ps.from_pandas(pser)
316
- self.assertEqual(pser.is_unique, psser.is_unique)
317
- self.assertEqual((pser + 1).is_unique, (psser + 1).is_unique)
318
-
319
- pser = pd.Series([1, 1, 1])
320
- psser = ps.from_pandas(pser)
321
- self.assertEqual(pser.is_unique, psser.is_unique)
322
- self.assertEqual((pser + 1).is_unique, (psser + 1).is_unique)
323
-
324
- def test_median(self):
325
- with self.assertRaisesRegex(TypeError, "accuracy must be an integer; however"):
326
- ps.Series([24.0, 21.0, 25.0, 33.0, 26.0]).median(accuracy="a")
327
-
328
- @unittest.skipIf(
329
- LooseVersion(pd.__version__) >= LooseVersion("2.0.0"),
330
- "TODO(SPARK-43463): Enable SeriesTests.test_rank for pandas 2.0.0.",
331
- )
332
- def test_rank(self):
333
- pser = pd.Series([1, 2, 3, 1], name="x")
334
- psser = ps.from_pandas(pser)
335
- self.assert_eq(pser.rank(), psser.rank().sort_index())
336
- self.assert_eq(pser.rank().sum(), psser.rank().sum())
337
- self.assert_eq(pser.rank(ascending=False), psser.rank(ascending=False).sort_index())
338
- self.assert_eq(pser.rank(method="min"), psser.rank(method="min").sort_index())
339
- self.assert_eq(pser.rank(method="max"), psser.rank(method="max").sort_index())
340
- self.assert_eq(pser.rank(method="first"), psser.rank(method="first").sort_index())
341
- self.assert_eq(pser.rank(method="dense"), psser.rank(method="dense").sort_index())
342
-
343
- non_numeric_pser = pd.Series(["a", "c", "b", "d"], name="x", index=[10, 11, 12, 13])
344
- non_numeric_psser = ps.from_pandas(non_numeric_pser)
345
- self.assert_eq(
346
- non_numeric_pser.rank(numeric_only=True),
347
- non_numeric_psser.rank(numeric_only=True),
348
- )
349
- self.assert_eq(
350
- non_numeric_pser.rank(numeric_only=None),
351
- non_numeric_psser.rank(numeric_only=None).sort_index(),
352
- )
353
- self.assert_eq(
354
- non_numeric_pser.rank(numeric_only=False),
355
- non_numeric_psser.rank(numeric_only=False).sort_index(),
356
- )
357
- self.assert_eq(
358
- (non_numeric_pser + "x").rank(numeric_only=True),
359
- (non_numeric_psser + "x").rank(numeric_only=True),
360
- )
361
-
362
- msg = "method must be one of 'average', 'min', 'max', 'first', 'dense'"
363
- with self.assertRaisesRegex(ValueError, msg):
364
- psser.rank(method="nothing")
365
-
366
- msg = "method must be one of 'average', 'min', 'max', 'first', 'dense'"
367
- with self.assertRaisesRegex(ValueError, msg):
368
- psser.rank(method="nothing")
369
-
370
- midx = pd.MultiIndex.from_tuples([("a", "b"), ("a", "c"), ("b", "c"), ("c", "d")])
371
- pser.index = midx
372
- psser = ps.from_pandas(pser)
373
- msg = "rank do not support MultiIndex now"
374
- with self.assertRaisesRegex(NotImplementedError, msg):
375
- psser.rank(method="min")
376
-
377
- def test_round(self):
378
- pser = pd.Series([0.028208, 0.038683, 0.877076], name="x")
379
- psser = ps.from_pandas(pser)
380
- self.assert_eq(pser.round(2), psser.round(2))
381
- msg = "decimals must be an integer"
382
- with self.assertRaisesRegex(TypeError, msg):
383
- psser.round(1.5)
384
-
385
- @unittest.skipIf(
386
- LooseVersion(pd.__version__) >= LooseVersion("2.0.0"),
387
- "TODO(SPARK-43469): Enable SeriesTests.test_quantile for pandas 2.0.0.",
388
- )
389
- def test_quantile(self):
390
- pser = pd.Series([])
391
- psser = ps.from_pandas(pser)
392
-
393
- self.assert_eq(psser.quantile(0.5), pser.quantile(0.5))
394
- self.assert_eq(psser.quantile([0.25, 0.5, 0.75]), pser.quantile([0.25, 0.5, 0.75]))
395
-
396
- with self.assertRaisesRegex(TypeError, "accuracy must be an integer; however"):
397
- ps.Series([24.0, 21.0, 25.0, 33.0, 26.0]).quantile(accuracy="a")
398
- with self.assertRaisesRegex(TypeError, "q must be a float or an array of floats;"):
399
- ps.Series([24.0, 21.0, 25.0, 33.0, 26.0]).quantile(q=1)
400
- with self.assertRaisesRegex(TypeError, "q must be a float or an array of floats;"):
401
- ps.Series([24.0, 21.0, 25.0, 33.0, 26.0]).quantile(q=["a"])
402
- with self.assertRaisesRegex(
403
- ValueError, "percentiles should all be in the interval \\[0, 1\\]"
404
- ):
405
- ps.Series([24.0, 21.0, 25.0, 33.0, 26.0]).quantile(q=1.1)
406
-
407
- with self.assertRaisesRegex(TypeError, "Could not convert object \\(string\\) to numeric"):
408
- ps.Series(["a", "b", "c"]).quantile()
409
- with self.assertRaisesRegex(TypeError, "Could not convert object \\(string\\) to numeric"):
410
- ps.Series(["a", "b", "c"]).quantile([0.25, 0.5, 0.75])
411
-
412
- def test_pct_change(self):
413
- pser = pd.Series([90, 91, 85], index=[2, 4, 1])
414
- psser = ps.from_pandas(pser)
415
-
416
- self.assert_eq(psser.pct_change(), pser.pct_change(), check_exact=False)
417
- self.assert_eq(psser.pct_change().sum(), pser.pct_change().sum(), almost=True)
418
- self.assert_eq(psser.pct_change(periods=2), pser.pct_change(periods=2), check_exact=False)
419
- self.assert_eq(psser.pct_change(periods=-1), pser.pct_change(periods=-1), check_exact=False)
420
- self.assert_eq(psser.pct_change(periods=-100000000), pser.pct_change(periods=-100000000))
421
- self.assert_eq(psser.pct_change(periods=100000000), pser.pct_change(periods=100000000))
422
-
423
- # for MultiIndex
424
- midx = pd.MultiIndex(
425
- [["lama", "cow", "falcon"], ["speed", "weight", "length"]],
426
- [[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]],
427
- )
428
- pser = pd.Series([45, 200, 1.2, 30, 250, 1.5, 320, 1, 0.3], index=midx)
429
- psser = ps.from_pandas(pser)
430
-
431
- self.assert_eq(psser.pct_change(), pser.pct_change(), check_exact=False)
432
- self.assert_eq(psser.pct_change().sum(), pser.pct_change().sum(), almost=True)
433
- self.assert_eq(psser.pct_change(periods=2), pser.pct_change(periods=2), check_exact=False)
434
- self.assert_eq(psser.pct_change(periods=-1), pser.pct_change(periods=-1), check_exact=False)
435
- self.assert_eq(psser.pct_change(periods=-100000000), pser.pct_change(periods=-100000000))
436
- self.assert_eq(psser.pct_change(periods=100000000), pser.pct_change(periods=100000000))
437
-
438
- def test_divmod(self):
439
- pser = pd.Series([100, None, 300, None, 500], name="Koalas")
440
- psser = ps.from_pandas(pser)
441
-
442
- kdiv, kmod = psser.divmod(-100)
443
- pdiv, pmod = pser.divmod(-100)
444
- self.assert_eq(kdiv, pdiv)
445
- self.assert_eq(kmod, pmod)
446
-
447
- kdiv, kmod = psser.divmod(100)
448
- pdiv, pmod = pser.divmod(100)
449
- self.assert_eq(kdiv, pdiv)
450
- self.assert_eq(kmod, pmod)
451
-
452
- def test_rdivmod(self):
453
- pser = pd.Series([100, None, 300, None, 500])
454
- psser = ps.from_pandas(pser)
455
-
456
- krdiv, krmod = psser.rdivmod(-100)
457
- prdiv, prmod = pser.rdivmod(-100)
458
- self.assert_eq(krdiv, prdiv)
459
- self.assert_eq(krmod, prmod)
460
-
461
- krdiv, krmod = psser.rdivmod(100)
462
- prdiv, prmod = pser.rdivmod(100)
463
- self.assert_eq(krdiv, prdiv)
464
- self.assert_eq(krmod, prmod)
465
-
466
- def test_mod(self):
467
- pser = pd.Series([100, None, -300, None, 500, -700], name="Koalas")
468
- psser = ps.from_pandas(pser)
469
-
470
- self.assert_eq(psser.mod(-150), pser.mod(-150))
471
- self.assert_eq(psser.mod(0), pser.mod(0))
472
- self.assert_eq(psser.mod(150), pser.mod(150))
473
-
474
- pdf = pd.DataFrame({"a": [100, None, -300, None, 500, -700], "b": [150] * 6})
475
- psdf = ps.from_pandas(pdf)
476
- self.assert_eq(psdf.a.mod(psdf.b), pdf.a.mod(pdf.b))
477
-
478
- def test_mode(self):
479
- pser = pd.Series([0, 0, 1, 1, 1, np.nan, np.nan, np.nan])
480
- psser = ps.from_pandas(pser)
481
- self.assert_eq(psser.mode(), pser.mode())
482
- self.assert_eq(
483
- psser.mode(dropna=False).sort_values().reset_index(drop=True),
484
- pser.mode(dropna=False).sort_values().reset_index(drop=True),
485
- )
486
-
487
- pser.name = "x"
488
- psser = ps.from_pandas(pser)
489
- if LooseVersion(pd.__version__) < LooseVersion("1.4"):
490
- # Due to pandas bug: https://github.com/pandas-dev/pandas/issues/46737
491
- psser.name = None
492
- self.assert_eq(psser.mode(), pser.mode())
493
- else:
494
- self.assert_eq(psser.mode(), pser.mode())
495
- self.assert_eq(
496
- psser.mode(dropna=False).sort_values().reset_index(drop=True),
497
- pser.mode(dropna=False).sort_values().reset_index(drop=True),
498
- )
499
-
500
- def test_rmod(self):
501
- pser = pd.Series([100, None, -300, None, 500, -700], name="Koalas")
502
- psser = ps.from_pandas(pser)
503
-
504
- self.assert_eq(psser.rmod(-150), pser.rmod(-150))
505
- self.assert_eq(psser.rmod(0), pser.rmod(0))
506
- self.assert_eq(psser.rmod(150), pser.rmod(150))
507
-
508
- pdf = pd.DataFrame({"a": [100, None, -300, None, 500, -700], "b": [150] * 6})
509
- psdf = ps.from_pandas(pdf)
510
- self.assert_eq(psdf.a.rmod(psdf.b), pdf.a.rmod(pdf.b))
511
-
512
- def test_div_zero_and_nan(self):
513
- pser = pd.Series([100, None, -300, None, 500, -700, np.inf, -np.inf], name="Koalas")
514
- psser = ps.from_pandas(pser)
515
-
516
- self.assert_eq(pser.div(0), psser.div(0))
517
- self.assert_eq(pser.truediv(0), psser.truediv(0))
518
- self.assert_eq(pser / 0, psser / 0)
519
- self.assert_eq(pser.div(np.nan), psser.div(np.nan))
520
- self.assert_eq(pser.truediv(np.nan), psser.truediv(np.nan))
521
- self.assert_eq(pser / np.nan, psser / np.nan)
522
-
523
- self.assert_eq(pser.floordiv(0), psser.floordiv(0))
524
- self.assert_eq(pser // 0, psser // 0)
525
- self.assert_eq(pser.floordiv(np.nan), psser.floordiv(np.nan))
526
-
527
- @unittest.skipIf(
528
- LooseVersion(pd.__version__) >= LooseVersion("2.0.0"),
529
- "TODO(SPARK-43468): Enable SeriesTests.test_mad for pandas 2.0.0.",
530
- )
531
- def test_mad(self):
532
- pser = pd.Series([1, 2, 3, 4], name="Koalas")
533
- psser = ps.from_pandas(pser)
534
-
535
- self.assert_eq(pser.mad(), psser.mad())
536
-
537
- pser = pd.Series([None, -2, 5, 10, 50, np.nan, -20], name="Koalas")
538
- psser = ps.from_pandas(pser)
539
-
540
- self.assert_eq(pser.mad(), psser.mad())
541
-
542
- pmidx = pd.MultiIndex.from_tuples(
543
- [("a", "1"), ("a", "2"), ("b", "1"), ("b", "2"), ("c", "1")]
544
- )
545
- pser = pd.Series([1, 2, 3, 4, 5], name="Koalas")
546
- pser.index = pmidx
547
- psser = ps.from_pandas(pser)
548
-
549
- self.assert_eq(pser.mad(), psser.mad())
550
-
551
- pmidx = pd.MultiIndex.from_tuples(
552
- [("a", "1"), ("a", "2"), ("b", "1"), ("b", "2"), ("c", "1")]
553
- )
554
- pser = pd.Series([None, -2, 5, 50, np.nan], name="Koalas")
555
- pser.index = pmidx
556
- psser = ps.from_pandas(pser)
557
-
558
- # Mark almost as True to avoid precision issue like:
559
- # "21.555555555555554 != 21.555555555555557"
560
- self.assert_eq(pser.mad(), psser.mad(), almost=True)
561
-
562
- @unittest.skipIf(
563
- LooseVersion(pd.__version__) >= LooseVersion("2.0.0"),
564
- "TODO(SPARK-43481): Enable SeriesTests.test_product for pandas 2.0.0.",
565
- )
566
- def test_product(self):
567
- pser = pd.Series([10, 20, 30, 40, 50])
568
- psser = ps.from_pandas(pser)
569
- self.assert_eq(pser.prod(), psser.prod())
570
-
571
- # Containing NA values
572
- pser = pd.Series([10, np.nan, 30, np.nan, 50])
573
- psser = ps.from_pandas(pser)
574
- self.assert_eq(pser.prod(), psser.prod(), almost=True)
575
-
576
- # All-NA values
577
- pser = pd.Series([np.nan, np.nan, np.nan])
578
- psser = ps.from_pandas(pser)
579
- self.assert_eq(pser.prod(), psser.prod())
580
-
581
- # Empty Series
582
- pser = pd.Series([])
583
- psser = ps.from_pandas(pser)
584
- self.assert_eq(pser.prod(), psser.prod())
585
-
586
- # Boolean Series
587
- pser = pd.Series([True, True, True])
588
- psser = ps.from_pandas(pser)
589
- self.assert_eq(pser.prod(), psser.prod())
590
-
591
- pser = pd.Series([False, False, False])
592
- psser = ps.from_pandas(pser)
593
- self.assert_eq(pser.prod(), psser.prod())
594
-
595
- pser = pd.Series([True, False, True])
596
- psser = ps.from_pandas(pser)
597
- self.assert_eq(pser.prod(), psser.prod())
598
-
599
- # With `min_count` parameter
600
- pser = pd.Series([10, 20, 30, 40, 50])
601
- psser = ps.from_pandas(pser)
602
- self.assert_eq(pser.prod(min_count=5), psser.prod(min_count=5))
603
- self.assert_eq(pser.prod(min_count=6), psser.prod(min_count=6))
604
-
605
- pser = pd.Series([10, np.nan, 30, np.nan, 50])
606
- psser = ps.from_pandas(pser)
607
- self.assert_eq(pser.prod(min_count=3), psser.prod(min_count=3), almost=True)
608
- self.assert_eq(pser.prod(min_count=4), psser.prod(min_count=4))
609
-
610
- pser = pd.Series([np.nan, np.nan, np.nan])
611
- psser = ps.from_pandas(pser)
612
- self.assert_eq(pser.prod(min_count=1), psser.prod(min_count=1))
613
-
614
- pser = pd.Series([])
615
- psser = ps.from_pandas(pser)
616
- self.assert_eq(pser.prod(min_count=1), psser.prod(min_count=1))
617
-
618
- with self.assertRaisesRegex(TypeError, "Could not convert object \\(string\\) to numeric"):
619
- ps.Series(["a", "b", "c"]).prod()
620
- with self.assertRaisesRegex(
621
- TypeError, "Could not convert datetime64\\[ns\\] \\(timestamp.*\\) to numeric"
622
- ):
623
- ps.Series([pd.Timestamp("2016-01-01") for _ in range(3)]).prod()
624
- with self.assertRaisesRegex(NotImplementedError, "Series does not support columns axis."):
625
- psser.prod(axis=1)
626
-
627
- def test_hasnans(self):
628
- # BooleanType
629
- pser = pd.Series([True, False, True, True])
630
- psser = ps.from_pandas(pser)
631
- self.assert_eq(pser.hasnans, psser.hasnans)
632
-
633
- pser = pd.Series([True, False, np.nan, True])
634
- psser = ps.from_pandas(pser)
635
- self.assert_eq(pser.hasnans, psser.hasnans)
636
-
637
- # TimestampType
638
- pser = pd.Series([pd.Timestamp("2020-07-30") for _ in range(3)])
639
- psser = ps.from_pandas(pser)
640
- self.assert_eq(pser.hasnans, psser.hasnans)
641
-
642
- pser = pd.Series([pd.Timestamp("2020-07-30"), np.nan, pd.Timestamp("2020-07-30")])
643
- psser = ps.from_pandas(pser)
644
- self.assert_eq(pser.hasnans, psser.hasnans)
645
-
646
- # DecimalType
647
- pser = pd.Series([Decimal("0.1"), Decimal("NaN")])
648
- psser = ps.from_pandas(pser)
649
- self.assert_eq(pser.hasnans, psser.hasnans)
650
-
651
- # empty
652
- pser = pd.Series([])
653
- psser = ps.from_pandas(pser)
654
- self.assert_eq(pser.hasnans, psser.hasnans)
655
-
656
- def test_pow_and_rpow(self):
657
- pser = pd.Series([1, 2, np.nan])
658
- psser = ps.from_pandas(pser)
659
-
660
- self.assert_eq(pser.pow(np.nan), psser.pow(np.nan))
661
- self.assert_eq(pser**np.nan, psser**np.nan)
662
- self.assert_eq(pser.rpow(np.nan), psser.rpow(np.nan))
663
- self.assert_eq(1**pser, 1**psser)
664
-
665
- def test_autocorr(self):
666
- pdf = pd.DataFrame({"s1": [0.90010907, 0.13484424, 0.62036035]})
667
- self._test_autocorr(pdf)
668
-
669
- pdf = pd.DataFrame({"s1": [0.90010907, np.nan, 0.13484424, 0.62036035]})
670
- self._test_autocorr(pdf)
671
-
672
- pdf = pd.DataFrame({"s1": [0.2, 0.0, 0.6, 0.2, np.nan, 0.5, 0.6]})
673
- self._test_autocorr(pdf)
674
-
675
- psser = ps.from_pandas(pdf["s1"])
676
- with self.assertRaisesRegex(TypeError, r"lag should be an int; however, got"):
677
- psser.autocorr(1.0)
678
-
679
- def _test_autocorr(self, pdf):
680
- psdf = ps.from_pandas(pdf)
681
- for lag in range(-10, 10):
682
- p_autocorr = pdf["s1"].autocorr(lag)
683
- ps_autocorr = psdf["s1"].autocorr(lag)
684
- self.assert_eq(p_autocorr, ps_autocorr, almost=True)
685
-
686
- def test_cov(self):
687
- pdf = pd.DataFrame(
688
- {
689
- "s1": ["a", "b", "c"],
690
- "s2": [0.12528585, 0.26962463, 0.51111198],
691
- },
692
- index=[0, 1, 2],
693
- )
694
- psdf = ps.from_pandas(pdf)
695
- with self.assertRaisesRegex(TypeError, "unsupported dtype: object"):
696
- psdf["s1"].cov(psdf["s2"])
697
- with self.assertRaisesRegex(TypeError, "unsupported dtype: object"):
698
- psdf["s2"].cov(psdf["s1"])
699
- with self.assertRaisesRegex(TypeError, "ddof must be integer"):
700
- psdf["s2"].cov(psdf["s2"], ddof="ddof")
701
-
702
- pdf = pd.DataFrame(
703
- {
704
- "s1": [0.90010907, 0.13484424, 0.62036035],
705
- "s2": [0.12528585, 0.26962463, 0.51111198],
706
- },
707
- index=[0, 1, 2],
708
- )
709
- self._test_cov(pdf)
710
-
711
- pdf = pd.DataFrame(
712
- {
713
- "s1": [0.90010907, np.nan, 0.13484424, 0.62036035],
714
- "s2": [0.12528585, 0.81131178, 0.26962463, 0.51111198],
715
- },
716
- index=[0, 1, 2, 3],
717
- )
718
- self._test_cov(pdf)
719
-
720
- def _test_cov(self, pdf):
721
- psdf = ps.from_pandas(pdf)
722
-
723
- self.assert_eq(pdf["s1"].cov(pdf["s2"]), psdf["s1"].cov(psdf["s2"]), almost=True)
724
- self.assert_eq(
725
- pdf["s1"].cov(pdf["s2"], ddof=2), psdf["s1"].cov(psdf["s2"], ddof=2), almost=True
726
- )
727
-
728
- self.assert_eq(
729
- pdf["s1"].cov(pdf["s2"], min_periods=3),
730
- psdf["s1"].cov(psdf["s2"], min_periods=3),
731
- almost=True,
732
- )
733
- self.assert_eq(
734
- pdf["s1"].cov(pdf["s2"], min_periods=3, ddof=-1),
735
- psdf["s1"].cov(psdf["s2"], min_periods=3, ddof=-1),
736
- almost=True,
737
- )
738
-
739
- self.assert_eq(
740
- pdf["s1"].cov(pdf["s2"], min_periods=4),
741
- psdf["s1"].cov(psdf["s2"], min_periods=4),
742
- almost=True,
743
- )
744
- self.assert_eq(
745
- pdf["s1"].cov(pdf["s2"], min_periods=4, ddof=3),
746
- psdf["s1"].cov(psdf["s2"], min_periods=4, ddof=3),
747
- almost=True,
748
- )
749
-
750
- def test_series_stat_fail(self):
751
- with self.assertRaisesRegex(TypeError, "Could not convert object"):
752
- ps.Series(["a", "b", "c"]).mean()
753
- with self.assertRaisesRegex(TypeError, "Could not convert object"):
754
- ps.Series(["a", "b", "c"]).skew()
755
- with self.assertRaisesRegex(TypeError, "Could not convert object"):
756
- ps.Series(["a", "b", "c"]).kurtosis()
757
- with self.assertRaisesRegex(TypeError, "Could not convert object"):
758
- ps.Series(["a", "b", "c"]).std()
759
- with self.assertRaisesRegex(TypeError, "Could not convert object"):
760
- ps.Series(["a", "b", "c"]).var()
761
- with self.assertRaisesRegex(TypeError, "Could not convert object"):
762
- ps.Series(["a", "b", "c"]).median()
763
- with self.assertRaisesRegex(TypeError, "Could not convert object"):
764
- ps.Series(["a", "b", "c"]).sem()
765
-
766
-
767
- class SeriesStatTests(SeriesStatMixin, ComparisonTestBase, SQLTestUtils):
768
- pass
769
-
770
-
771
- if __name__ == "__main__":
772
- from pyspark.pandas.tests.series.test_stat import * # noqa: F401
773
-
774
- try:
775
- import xmlrunner
776
-
777
- testRunner = xmlrunner.XMLTestRunner(output="target/test-reports", verbosity=2)
778
- except ImportError:
779
- testRunner = None
780
- unittest.main(testRunner=testRunner, verbosity=2)