teradataml 17.20.0.7__py3-none-any.whl → 20.0.0.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 teradataml might be problematic. Click here for more details.

Files changed (1285) hide show
  1. teradataml/LICENSE-3RD-PARTY.pdf +0 -0
  2. teradataml/LICENSE.pdf +0 -0
  3. teradataml/README.md +1864 -1640
  4. teradataml/__init__.py +70 -60
  5. teradataml/_version.py +11 -11
  6. teradataml/analytics/Transformations.py +2995 -2995
  7. teradataml/analytics/__init__.py +81 -83
  8. teradataml/analytics/analytic_function_executor.py +2013 -2010
  9. teradataml/analytics/analytic_query_generator.py +958 -958
  10. teradataml/analytics/byom/H2OPredict.py +514 -514
  11. teradataml/analytics/byom/PMMLPredict.py +437 -437
  12. teradataml/analytics/byom/__init__.py +14 -14
  13. teradataml/analytics/json_parser/__init__.py +130 -130
  14. teradataml/analytics/json_parser/analytic_functions_argument.py +1707 -1707
  15. teradataml/analytics/json_parser/json_store.py +191 -191
  16. teradataml/analytics/json_parser/metadata.py +1637 -1637
  17. teradataml/analytics/json_parser/utils.py +804 -803
  18. teradataml/analytics/meta_class.py +196 -196
  19. teradataml/analytics/sqle/DecisionTreePredict.py +455 -470
  20. teradataml/analytics/sqle/NaiveBayesPredict.py +419 -428
  21. teradataml/analytics/sqle/__init__.py +97 -110
  22. teradataml/analytics/sqle/json/decisiontreepredict_sqle.json +78 -78
  23. teradataml/analytics/sqle/json/naivebayespredict_sqle.json +62 -62
  24. teradataml/analytics/table_operator/__init__.py +10 -10
  25. teradataml/analytics/uaf/__init__.py +63 -63
  26. teradataml/analytics/utils.py +693 -692
  27. teradataml/analytics/valib.py +1603 -1600
  28. teradataml/automl/__init__.py +1628 -0
  29. teradataml/automl/custom_json_utils.py +1270 -0
  30. teradataml/automl/data_preparation.py +993 -0
  31. teradataml/automl/data_transformation.py +727 -0
  32. teradataml/automl/feature_engineering.py +1648 -0
  33. teradataml/automl/feature_exploration.py +547 -0
  34. teradataml/automl/model_evaluation.py +163 -0
  35. teradataml/automl/model_training.py +887 -0
  36. teradataml/catalog/__init__.py +1 -3
  37. teradataml/catalog/byom.py +1759 -1716
  38. teradataml/catalog/function_argument_mapper.py +859 -861
  39. teradataml/catalog/model_cataloging_utils.py +491 -1510
  40. teradataml/clients/pkce_client.py +481 -481
  41. teradataml/common/aed_utils.py +6 -2
  42. teradataml/common/bulk_exposed_utils.py +111 -111
  43. teradataml/common/constants.py +1433 -1441
  44. teradataml/common/deprecations.py +160 -0
  45. teradataml/common/exceptions.py +73 -73
  46. teradataml/common/formula.py +742 -742
  47. teradataml/common/garbagecollector.py +592 -635
  48. teradataml/common/messagecodes.py +422 -431
  49. teradataml/common/messages.py +227 -231
  50. teradataml/common/sqlbundle.py +693 -693
  51. teradataml/common/td_coltype_code_to_tdtype.py +48 -48
  52. teradataml/common/utils.py +2418 -2500
  53. teradataml/common/warnings.py +25 -25
  54. teradataml/common/wrapper_utils.py +1 -110
  55. teradataml/config/dummy_file1.cfg +4 -4
  56. teradataml/config/dummy_file2.cfg +2 -2
  57. teradataml/config/sqlengine_alias_definitions_v1.0 +13 -13
  58. teradataml/config/sqlengine_alias_definitions_v1.1 +19 -19
  59. teradataml/config/sqlengine_alias_definitions_v1.3 +18 -18
  60. teradataml/context/aed_context.py +217 -217
  61. teradataml/context/context.py +1071 -999
  62. teradataml/data/A_loan.csv +19 -19
  63. teradataml/data/BINARY_REALS_LEFT.csv +11 -11
  64. teradataml/data/BINARY_REALS_RIGHT.csv +11 -11
  65. teradataml/data/B_loan.csv +49 -49
  66. teradataml/data/BuoyData2.csv +17 -17
  67. teradataml/data/CONVOLVE2_COMPLEX_LEFT.csv +5 -5
  68. teradataml/data/CONVOLVE2_COMPLEX_RIGHT.csv +5 -5
  69. teradataml/data/Convolve2RealsLeft.csv +5 -5
  70. teradataml/data/Convolve2RealsRight.csv +5 -5
  71. teradataml/data/Convolve2ValidLeft.csv +11 -11
  72. teradataml/data/Convolve2ValidRight.csv +11 -11
  73. teradataml/data/DFFTConv_Real_8_8.csv +65 -65
  74. teradataml/data/Orders1_12mf.csv +24 -24
  75. teradataml/data/Pi_loan.csv +7 -7
  76. teradataml/data/SMOOTHED_DATA.csv +7 -7
  77. teradataml/data/TestDFFT8.csv +9 -9
  78. teradataml/data/TestRiver.csv +109 -109
  79. teradataml/data/Traindata.csv +28 -28
  80. teradataml/data/acf.csv +17 -17
  81. teradataml/data/adaboost_example.json +34 -34
  82. teradataml/data/adaboostpredict_example.json +24 -24
  83. teradataml/data/additional_table.csv +10 -10
  84. teradataml/data/admissions_test.csv +21 -21
  85. teradataml/data/admissions_train.csv +41 -41
  86. teradataml/data/admissions_train_nulls.csv +41 -41
  87. teradataml/data/ageandheight.csv +13 -13
  88. teradataml/data/ageandpressure.csv +31 -31
  89. teradataml/data/antiselect_example.json +36 -36
  90. teradataml/data/antiselect_input.csv +8 -8
  91. teradataml/data/antiselect_input_mixed_case.csv +8 -8
  92. teradataml/data/applicant_external.csv +6 -6
  93. teradataml/data/applicant_reference.csv +6 -6
  94. teradataml/data/arima_example.json +9 -9
  95. teradataml/data/assortedtext_input.csv +8 -8
  96. teradataml/data/attribution_example.json +33 -33
  97. teradataml/data/attribution_sample_table.csv +27 -27
  98. teradataml/data/attribution_sample_table1.csv +6 -6
  99. teradataml/data/attribution_sample_table2.csv +11 -11
  100. teradataml/data/bank_churn.csv +10001 -0
  101. teradataml/data/bank_web_clicks1.csv +42 -42
  102. teradataml/data/bank_web_clicks2.csv +91 -91
  103. teradataml/data/bank_web_url.csv +85 -85
  104. teradataml/data/barrier.csv +2 -2
  105. teradataml/data/barrier_new.csv +3 -3
  106. teradataml/data/betweenness_example.json +13 -13
  107. teradataml/data/bin_breaks.csv +8 -8
  108. teradataml/data/bin_fit_ip.csv +3 -3
  109. teradataml/data/binary_complex_left.csv +11 -11
  110. teradataml/data/binary_complex_right.csv +11 -11
  111. teradataml/data/binary_matrix_complex_left.csv +21 -21
  112. teradataml/data/binary_matrix_complex_right.csv +21 -21
  113. teradataml/data/binary_matrix_real_left.csv +21 -21
  114. teradataml/data/binary_matrix_real_right.csv +21 -21
  115. teradataml/data/blood2ageandweight.csv +26 -26
  116. teradataml/data/bmi.csv +501 -0
  117. teradataml/data/boston.csv +507 -507
  118. teradataml/data/buoydata_mix.csv +11 -11
  119. teradataml/data/burst_data.csv +5 -5
  120. teradataml/data/burst_example.json +20 -20
  121. teradataml/data/byom_example.json +17 -17
  122. teradataml/data/bytes_table.csv +3 -3
  123. teradataml/data/cal_housing_ex_raw.csv +70 -70
  124. teradataml/data/callers.csv +7 -7
  125. teradataml/data/calls.csv +10 -10
  126. teradataml/data/cars_hist.csv +33 -33
  127. teradataml/data/cat_table.csv +24 -24
  128. teradataml/data/ccm_example.json +31 -31
  129. teradataml/data/ccm_input.csv +91 -91
  130. teradataml/data/ccm_input2.csv +13 -13
  131. teradataml/data/ccmexample.csv +101 -101
  132. teradataml/data/ccmprepare_example.json +8 -8
  133. teradataml/data/ccmprepare_input.csv +91 -91
  134. teradataml/data/cfilter_example.json +12 -12
  135. teradataml/data/changepointdetection_example.json +18 -18
  136. teradataml/data/changepointdetectionrt_example.json +8 -8
  137. teradataml/data/chi_sq.csv +2 -2
  138. teradataml/data/churn_data.csv +14 -14
  139. teradataml/data/churn_emission.csv +35 -35
  140. teradataml/data/churn_initial.csv +3 -3
  141. teradataml/data/churn_state_transition.csv +5 -5
  142. teradataml/data/citedges_2.csv +745 -745
  143. teradataml/data/citvertices_2.csv +1210 -1210
  144. teradataml/data/clicks2.csv +16 -16
  145. teradataml/data/clickstream.csv +12 -12
  146. teradataml/data/clickstream1.csv +11 -11
  147. teradataml/data/closeness_example.json +15 -15
  148. teradataml/data/complaints.csv +21 -21
  149. teradataml/data/complaints_mini.csv +3 -3
  150. teradataml/data/complaints_testtoken.csv +224 -224
  151. teradataml/data/complaints_tokens_test.csv +353 -353
  152. teradataml/data/complaints_traintoken.csv +472 -472
  153. teradataml/data/computers_category.csv +1001 -1001
  154. teradataml/data/computers_test1.csv +1252 -1252
  155. teradataml/data/computers_train1.csv +5009 -5009
  156. teradataml/data/computers_train1_clustered.csv +5009 -5009
  157. teradataml/data/confusionmatrix_example.json +9 -9
  158. teradataml/data/conversion_event_table.csv +3 -3
  159. teradataml/data/corr_input.csv +17 -17
  160. teradataml/data/correlation_example.json +11 -11
  161. teradataml/data/coxhazardratio_example.json +39 -39
  162. teradataml/data/coxph_example.json +15 -15
  163. teradataml/data/coxsurvival_example.json +28 -28
  164. teradataml/data/cpt.csv +41 -41
  165. teradataml/data/credit_ex_merged.csv +45 -45
  166. teradataml/data/customer_loyalty.csv +301 -301
  167. teradataml/data/customer_loyalty_newseq.csv +31 -31
  168. teradataml/data/dataframe_example.json +146 -146
  169. teradataml/data/decisionforest_example.json +37 -37
  170. teradataml/data/decisionforestpredict_example.json +38 -38
  171. teradataml/data/decisiontree_example.json +21 -21
  172. teradataml/data/decisiontreepredict_example.json +45 -45
  173. teradataml/data/dfft2_size4_real.csv +17 -17
  174. teradataml/data/dfft2_test_matrix16.csv +17 -17
  175. teradataml/data/dfft2conv_real_4_4.csv +65 -65
  176. teradataml/data/diabetes.csv +443 -443
  177. teradataml/data/diabetes_test.csv +89 -89
  178. teradataml/data/dict_table.csv +5 -5
  179. teradataml/data/docperterm_table.csv +4 -4
  180. teradataml/data/docs/__init__.py +1 -1
  181. teradataml/data/docs/byom/docs/DataRobotPredict.py +180 -180
  182. teradataml/data/docs/byom/docs/DataikuPredict.py +177 -177
  183. teradataml/data/docs/byom/docs/H2OPredict.py +324 -324
  184. teradataml/data/docs/byom/docs/ONNXPredict.py +283 -283
  185. teradataml/data/docs/byom/docs/PMMLPredict.py +277 -277
  186. teradataml/data/docs/sqle/docs_17_10/Antiselect.py +82 -82
  187. teradataml/data/docs/sqle/docs_17_10/Attribution.py +199 -199
  188. teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +171 -171
  189. teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +131 -130
  190. teradataml/data/docs/sqle/docs_17_10/CategoricalSummary.py +86 -86
  191. teradataml/data/docs/sqle/docs_17_10/ChiSq.py +90 -90
  192. teradataml/data/docs/sqle/docs_17_10/ColumnSummary.py +85 -85
  193. teradataml/data/docs/sqle/docs_17_10/ConvertTo.py +95 -95
  194. teradataml/data/docs/sqle/docs_17_10/DecisionForestPredict.py +139 -139
  195. teradataml/data/docs/sqle/docs_17_10/DecisionTreePredict.py +151 -151
  196. teradataml/data/docs/sqle/docs_17_10/FTest.py +160 -160
  197. teradataml/data/docs/sqle/docs_17_10/FillRowId.py +82 -82
  198. teradataml/data/docs/sqle/docs_17_10/Fit.py +87 -87
  199. teradataml/data/docs/sqle/docs_17_10/GLMPredict.py +144 -144
  200. teradataml/data/docs/sqle/docs_17_10/GetRowsWithMissingValues.py +84 -84
  201. teradataml/data/docs/sqle/docs_17_10/GetRowsWithoutMissingValues.py +81 -81
  202. teradataml/data/docs/sqle/docs_17_10/Histogram.py +164 -164
  203. teradataml/data/docs/sqle/docs_17_10/MovingAverage.py +134 -134
  204. teradataml/data/docs/sqle/docs_17_10/NGramSplitter.py +208 -208
  205. teradataml/data/docs/sqle/docs_17_10/NPath.py +265 -265
  206. teradataml/data/docs/sqle/docs_17_10/NaiveBayesPredict.py +116 -116
  207. teradataml/data/docs/sqle/docs_17_10/NaiveBayesTextClassifierPredict.py +176 -176
  208. teradataml/data/docs/sqle/docs_17_10/NumApply.py +147 -147
  209. teradataml/data/docs/sqle/docs_17_10/OneHotEncodingFit.py +132 -132
  210. teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +103 -103
  211. teradataml/data/docs/sqle/docs_17_10/OutlierFilterFit.py +165 -165
  212. teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +101 -101
  213. teradataml/data/docs/sqle/docs_17_10/Pack.py +128 -128
  214. teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesFit.py +111 -111
  215. teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +102 -102
  216. teradataml/data/docs/sqle/docs_17_10/QQNorm.py +104 -104
  217. teradataml/data/docs/sqle/docs_17_10/RoundColumns.py +109 -109
  218. teradataml/data/docs/sqle/docs_17_10/RowNormalizeFit.py +117 -117
  219. teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +99 -98
  220. teradataml/data/docs/sqle/docs_17_10/SVMSparsePredict.py +152 -152
  221. teradataml/data/docs/sqle/docs_17_10/ScaleFit.py +197 -197
  222. teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +99 -98
  223. teradataml/data/docs/sqle/docs_17_10/Sessionize.py +113 -113
  224. teradataml/data/docs/sqle/docs_17_10/SimpleImputeFit.py +116 -116
  225. teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +98 -98
  226. teradataml/data/docs/sqle/docs_17_10/StrApply.py +187 -187
  227. teradataml/data/docs/sqle/docs_17_10/StringSimilarity.py +145 -145
  228. teradataml/data/docs/sqle/docs_17_10/Transform.py +105 -104
  229. teradataml/data/docs/sqle/docs_17_10/UnivariateStatistics.py +141 -141
  230. teradataml/data/docs/sqle/docs_17_10/Unpack.py +214 -214
  231. teradataml/data/docs/sqle/docs_17_10/WhichMax.py +83 -83
  232. teradataml/data/docs/sqle/docs_17_10/WhichMin.py +83 -83
  233. teradataml/data/docs/sqle/docs_17_10/ZTest.py +155 -155
  234. teradataml/data/docs/sqle/docs_17_20/ANOVA.py +126 -126
  235. teradataml/data/docs/sqle/docs_17_20/Antiselect.py +82 -82
  236. teradataml/data/docs/sqle/docs_17_20/Attribution.py +200 -200
  237. teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +171 -171
  238. teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +139 -138
  239. teradataml/data/docs/sqle/docs_17_20/CategoricalSummary.py +86 -86
  240. teradataml/data/docs/sqle/docs_17_20/ChiSq.py +90 -90
  241. teradataml/data/docs/sqle/docs_17_20/ClassificationEvaluator.py +166 -166
  242. teradataml/data/docs/sqle/docs_17_20/ColumnSummary.py +85 -85
  243. teradataml/data/docs/sqle/docs_17_20/ColumnTransformer.py +243 -243
  244. teradataml/data/docs/sqle/docs_17_20/ConvertTo.py +113 -113
  245. teradataml/data/docs/sqle/docs_17_20/DecisionForest.py +279 -279
  246. teradataml/data/docs/sqle/docs_17_20/DecisionForestPredict.py +144 -144
  247. teradataml/data/docs/sqle/docs_17_20/DecisionTreePredict.py +135 -135
  248. teradataml/data/docs/sqle/docs_17_20/FTest.py +160 -160
  249. teradataml/data/docs/sqle/docs_17_20/FillRowId.py +82 -82
  250. teradataml/data/docs/sqle/docs_17_20/Fit.py +87 -87
  251. teradataml/data/docs/sqle/docs_17_20/GLM.py +380 -380
  252. teradataml/data/docs/sqle/docs_17_20/GLMPerSegment.py +414 -414
  253. teradataml/data/docs/sqle/docs_17_20/GLMPredict.py +144 -144
  254. teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +233 -234
  255. teradataml/data/docs/sqle/docs_17_20/GetFutileColumns.py +123 -123
  256. teradataml/data/docs/sqle/docs_17_20/GetRowsWithMissingValues.py +108 -108
  257. teradataml/data/docs/sqle/docs_17_20/GetRowsWithoutMissingValues.py +105 -105
  258. teradataml/data/docs/sqle/docs_17_20/Histogram.py +223 -223
  259. teradataml/data/docs/sqle/docs_17_20/KMeans.py +204 -204
  260. teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +144 -143
  261. teradataml/data/docs/sqle/docs_17_20/KNN.py +214 -214
  262. teradataml/data/docs/sqle/docs_17_20/MovingAverage.py +134 -134
  263. teradataml/data/docs/sqle/docs_17_20/NGramSplitter.py +208 -208
  264. teradataml/data/docs/sqle/docs_17_20/NPath.py +265 -265
  265. teradataml/data/docs/sqle/docs_17_20/NaiveBayesPredict.py +116 -116
  266. teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +177 -176
  267. teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +126 -126
  268. teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +117 -117
  269. teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +112 -112
  270. teradataml/data/docs/sqle/docs_17_20/NumApply.py +147 -147
  271. teradataml/data/docs/sqle/docs_17_20/OneClassSVM.py +307 -307
  272. teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +185 -184
  273. teradataml/data/docs/sqle/docs_17_20/OneHotEncodingFit.py +225 -225
  274. teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +115 -115
  275. teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingFit.py +219 -219
  276. teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingTransform.py +127 -127
  277. teradataml/data/docs/sqle/docs_17_20/OutlierFilterFit.py +189 -189
  278. teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +117 -112
  279. teradataml/data/docs/sqle/docs_17_20/Pack.py +128 -128
  280. teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesFit.py +111 -111
  281. teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +112 -111
  282. teradataml/data/docs/sqle/docs_17_20/QQNorm.py +104 -104
  283. teradataml/data/docs/sqle/docs_17_20/ROC.py +163 -163
  284. teradataml/data/docs/sqle/docs_17_20/RandomProjectionFit.py +154 -154
  285. teradataml/data/docs/sqle/docs_17_20/RandomProjectionMinComponents.py +106 -106
  286. teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +120 -120
  287. teradataml/data/docs/sqle/docs_17_20/RegressionEvaluator.py +211 -211
  288. teradataml/data/docs/sqle/docs_17_20/RoundColumns.py +108 -108
  289. teradataml/data/docs/sqle/docs_17_20/RowNormalizeFit.py +117 -117
  290. teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +111 -110
  291. teradataml/data/docs/sqle/docs_17_20/SVM.py +413 -413
  292. teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +202 -202
  293. teradataml/data/docs/sqle/docs_17_20/SVMSparsePredict.py +152 -152
  294. teradataml/data/docs/sqle/docs_17_20/ScaleFit.py +197 -197
  295. teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +110 -109
  296. teradataml/data/docs/sqle/docs_17_20/SentimentExtractor.py +206 -206
  297. teradataml/data/docs/sqle/docs_17_20/Sessionize.py +113 -113
  298. teradataml/data/docs/sqle/docs_17_20/Silhouette.py +152 -152
  299. teradataml/data/docs/sqle/docs_17_20/SimpleImputeFit.py +116 -116
  300. teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +109 -108
  301. teradataml/data/docs/sqle/docs_17_20/StrApply.py +187 -187
  302. teradataml/data/docs/sqle/docs_17_20/StringSimilarity.py +145 -145
  303. teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +207 -207
  304. teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +171 -171
  305. teradataml/data/docs/sqle/docs_17_20/TargetEncodingFit.py +266 -266
  306. teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +141 -140
  307. teradataml/data/docs/sqle/docs_17_20/TextParser.py +172 -172
  308. teradataml/data/docs/sqle/docs_17_20/TrainTestSplit.py +159 -159
  309. teradataml/data/docs/sqle/docs_17_20/Transform.py +123 -123
  310. teradataml/data/docs/sqle/docs_17_20/UnivariateStatistics.py +141 -141
  311. teradataml/data/docs/sqle/docs_17_20/Unpack.py +214 -214
  312. teradataml/data/docs/sqle/docs_17_20/VectorDistance.py +168 -168
  313. teradataml/data/docs/sqle/docs_17_20/WhichMax.py +83 -83
  314. teradataml/data/docs/sqle/docs_17_20/WhichMin.py +83 -83
  315. teradataml/data/docs/sqle/docs_17_20/WordEmbeddings.py +236 -236
  316. teradataml/data/docs/sqle/docs_17_20/XGBoost.py +353 -353
  317. teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +275 -275
  318. teradataml/data/docs/sqle/docs_17_20/ZTest.py +155 -155
  319. teradataml/data/docs/tableoperator/docs_17_00/ReadNOS.py +429 -429
  320. teradataml/data/docs/tableoperator/docs_17_05/ReadNOS.py +429 -429
  321. teradataml/data/docs/tableoperator/docs_17_05/WriteNOS.py +347 -347
  322. teradataml/data/docs/tableoperator/docs_17_10/ReadNOS.py +428 -428
  323. teradataml/data/docs/tableoperator/docs_17_10/WriteNOS.py +347 -347
  324. teradataml/data/docs/tableoperator/docs_17_20/ReadNOS.py +439 -439
  325. teradataml/data/docs/tableoperator/docs_17_20/WriteNOS.py +386 -386
  326. teradataml/data/docs/uaf/docs_17_20/ACF.py +195 -195
  327. teradataml/data/docs/uaf/docs_17_20/ArimaEstimate.py +369 -369
  328. teradataml/data/docs/uaf/docs_17_20/ArimaForecast.py +142 -142
  329. teradataml/data/docs/uaf/docs_17_20/ArimaValidate.py +159 -159
  330. teradataml/data/docs/uaf/docs_17_20/BinaryMatrixOp.py +247 -247
  331. teradataml/data/docs/uaf/docs_17_20/BinarySeriesOp.py +252 -252
  332. teradataml/data/docs/uaf/docs_17_20/BreuschGodfrey.py +177 -177
  333. teradataml/data/docs/uaf/docs_17_20/BreuschPaganGodfrey.py +174 -174
  334. teradataml/data/docs/uaf/docs_17_20/Convolve.py +226 -226
  335. teradataml/data/docs/uaf/docs_17_20/Convolve2.py +214 -214
  336. teradataml/data/docs/uaf/docs_17_20/CumulPeriodogram.py +183 -183
  337. teradataml/data/docs/uaf/docs_17_20/DFFT.py +203 -203
  338. teradataml/data/docs/uaf/docs_17_20/DFFT2.py +216 -216
  339. teradataml/data/docs/uaf/docs_17_20/DFFT2Conv.py +215 -215
  340. teradataml/data/docs/uaf/docs_17_20/DFFTConv.py +191 -191
  341. teradataml/data/docs/uaf/docs_17_20/DTW.py +179 -179
  342. teradataml/data/docs/uaf/docs_17_20/DickeyFuller.py +144 -144
  343. teradataml/data/docs/uaf/docs_17_20/DurbinWatson.py +183 -183
  344. teradataml/data/docs/uaf/docs_17_20/ExtractResults.py +184 -184
  345. teradataml/data/docs/uaf/docs_17_20/FitMetrics.py +172 -172
  346. teradataml/data/docs/uaf/docs_17_20/GenseriesFormula.py +205 -205
  347. teradataml/data/docs/uaf/docs_17_20/GenseriesSinusoids.py +142 -142
  348. teradataml/data/docs/uaf/docs_17_20/HoltWintersForecaster.py +258 -258
  349. teradataml/data/docs/uaf/docs_17_20/IDFFT.py +164 -164
  350. teradataml/data/docs/uaf/docs_17_20/IDFFT2.py +198 -198
  351. teradataml/data/docs/uaf/docs_17_20/InputValidator.py +120 -120
  352. teradataml/data/docs/uaf/docs_17_20/LineSpec.py +155 -155
  353. teradataml/data/docs/uaf/docs_17_20/LinearRegr.py +214 -214
  354. teradataml/data/docs/uaf/docs_17_20/MAMean.py +173 -173
  355. teradataml/data/docs/uaf/docs_17_20/MInfo.py +133 -133
  356. teradataml/data/docs/uaf/docs_17_20/MatrixMultiply.py +135 -135
  357. teradataml/data/docs/uaf/docs_17_20/MultivarRegr.py +190 -190
  358. teradataml/data/docs/uaf/docs_17_20/PACF.py +158 -158
  359. teradataml/data/docs/uaf/docs_17_20/Portman.py +216 -216
  360. teradataml/data/docs/uaf/docs_17_20/PowerTransform.py +154 -154
  361. teradataml/data/docs/uaf/docs_17_20/Resample.py +228 -228
  362. teradataml/data/docs/uaf/docs_17_20/SInfo.py +122 -122
  363. teradataml/data/docs/uaf/docs_17_20/SeasonalNormalize.py +165 -165
  364. teradataml/data/docs/uaf/docs_17_20/SelectionCriteria.py +173 -173
  365. teradataml/data/docs/uaf/docs_17_20/SignifPeriodicities.py +170 -170
  366. teradataml/data/docs/uaf/docs_17_20/SignifResidmean.py +163 -163
  367. teradataml/data/docs/uaf/docs_17_20/SimpleExp.py +179 -179
  368. teradataml/data/docs/uaf/docs_17_20/Smoothma.py +207 -207
  369. teradataml/data/docs/uaf/docs_17_20/TrackingOp.py +150 -150
  370. teradataml/data/docs/uaf/docs_17_20/UNDIFF.py +171 -171
  371. teradataml/data/docs/uaf/docs_17_20/Unnormalize.py +201 -201
  372. teradataml/data/docs/uaf/docs_17_20/WhitesGeneral.py +169 -169
  373. teradataml/data/dtw_example.json +17 -17
  374. teradataml/data/dtw_t1.csv +11 -11
  375. teradataml/data/dtw_t2.csv +4 -4
  376. teradataml/data/dwt2d_example.json +15 -15
  377. teradataml/data/dwt_example.json +14 -14
  378. teradataml/data/dwt_filter_dim.csv +5 -5
  379. teradataml/data/emission.csv +9 -9
  380. teradataml/data/emp_table_by_dept.csv +19 -19
  381. teradataml/data/employee_info.csv +4 -4
  382. teradataml/data/employee_table.csv +6 -6
  383. teradataml/data/excluding_event_table.csv +2 -2
  384. teradataml/data/finance_data.csv +6 -6
  385. teradataml/data/finance_data2.csv +61 -61
  386. teradataml/data/finance_data3.csv +93 -93
  387. teradataml/data/fish.csv +160 -0
  388. teradataml/data/fm_blood2ageandweight.csv +26 -26
  389. teradataml/data/fmeasure_example.json +11 -11
  390. teradataml/data/followers_leaders.csv +10 -10
  391. teradataml/data/fpgrowth_example.json +12 -12
  392. teradataml/data/frequentpaths_example.json +29 -29
  393. teradataml/data/friends.csv +9 -9
  394. teradataml/data/fs_input.csv +33 -33
  395. teradataml/data/fs_input1.csv +33 -33
  396. teradataml/data/genData.csv +513 -513
  397. teradataml/data/geodataframe_example.json +39 -39
  398. teradataml/data/glass_types.csv +215 -0
  399. teradataml/data/glm_admissions_model.csv +12 -12
  400. teradataml/data/glm_example.json +29 -29
  401. teradataml/data/glml1l2_example.json +28 -28
  402. teradataml/data/glml1l2predict_example.json +54 -54
  403. teradataml/data/glmpredict_example.json +54 -54
  404. teradataml/data/gq_t1.csv +21 -21
  405. teradataml/data/hconvolve_complex_right.csv +5 -5
  406. teradataml/data/hconvolve_complex_rightmulti.csv +5 -5
  407. teradataml/data/histogram_example.json +11 -11
  408. teradataml/data/hmmdecoder_example.json +78 -78
  409. teradataml/data/hmmevaluator_example.json +24 -24
  410. teradataml/data/hmmsupervised_example.json +10 -10
  411. teradataml/data/hmmunsupervised_example.json +7 -7
  412. teradataml/data/house_values.csv +12 -12
  413. teradataml/data/house_values2.csv +13 -13
  414. teradataml/data/housing_cat.csv +7 -7
  415. teradataml/data/housing_data.csv +9 -9
  416. teradataml/data/housing_test.csv +47 -47
  417. teradataml/data/housing_test_binary.csv +47 -47
  418. teradataml/data/housing_train.csv +493 -493
  419. teradataml/data/housing_train_attribute.csv +4 -4
  420. teradataml/data/housing_train_binary.csv +437 -437
  421. teradataml/data/housing_train_parameter.csv +2 -2
  422. teradataml/data/housing_train_response.csv +493 -493
  423. teradataml/data/ibm_stock.csv +370 -370
  424. teradataml/data/ibm_stock1.csv +370 -370
  425. teradataml/data/identitymatch_example.json +21 -21
  426. teradataml/data/idf_table.csv +4 -4
  427. teradataml/data/impressions.csv +101 -101
  428. teradataml/data/inflation.csv +21 -21
  429. teradataml/data/initial.csv +3 -3
  430. teradataml/data/insect_sprays.csv +12 -12
  431. teradataml/data/insurance.csv +1339 -1339
  432. teradataml/data/interpolator_example.json +12 -12
  433. teradataml/data/iris_altinput.csv +481 -481
  434. teradataml/data/iris_attribute_output.csv +8 -8
  435. teradataml/data/iris_attribute_test.csv +121 -121
  436. teradataml/data/iris_attribute_train.csv +481 -481
  437. teradataml/data/iris_category_expect_predict.csv +31 -31
  438. teradataml/data/iris_data.csv +151 -0
  439. teradataml/data/iris_input.csv +151 -151
  440. teradataml/data/iris_response_train.csv +121 -121
  441. teradataml/data/iris_test.csv +31 -31
  442. teradataml/data/iris_train.csv +121 -121
  443. teradataml/data/join_table1.csv +4 -4
  444. teradataml/data/join_table2.csv +4 -4
  445. teradataml/data/jsons/anly_function_name.json +6 -6
  446. teradataml/data/jsons/byom/dataikupredict.json +147 -147
  447. teradataml/data/jsons/byom/datarobotpredict.json +146 -146
  448. teradataml/data/jsons/byom/h2opredict.json +194 -194
  449. teradataml/data/jsons/byom/onnxpredict.json +186 -186
  450. teradataml/data/jsons/byom/pmmlpredict.json +146 -146
  451. teradataml/data/jsons/paired_functions.json +435 -435
  452. teradataml/data/jsons/sqle/16.20/Antiselect.json +56 -56
  453. teradataml/data/jsons/sqle/16.20/Attribution.json +249 -249
  454. teradataml/data/jsons/sqle/16.20/DecisionForestPredict.json +156 -156
  455. teradataml/data/jsons/sqle/16.20/DecisionTreePredict.json +170 -170
  456. teradataml/data/jsons/sqle/16.20/GLMPredict.json +122 -122
  457. teradataml/data/jsons/sqle/16.20/MovingAverage.json +367 -367
  458. teradataml/data/jsons/sqle/16.20/NGramSplitter.json +239 -239
  459. teradataml/data/jsons/sqle/16.20/NaiveBayesPredict.json +136 -136
  460. teradataml/data/jsons/sqle/16.20/NaiveBayesTextClassifierPredict.json +235 -235
  461. teradataml/data/jsons/sqle/16.20/Pack.json +98 -98
  462. teradataml/data/jsons/sqle/16.20/SVMSparsePredict.json +162 -162
  463. teradataml/data/jsons/sqle/16.20/Sessionize.json +105 -105
  464. teradataml/data/jsons/sqle/16.20/StringSimilarity.json +86 -86
  465. teradataml/data/jsons/sqle/16.20/Unpack.json +166 -166
  466. teradataml/data/jsons/sqle/16.20/nPath.json +269 -269
  467. teradataml/data/jsons/sqle/17.00/Antiselect.json +56 -56
  468. teradataml/data/jsons/sqle/17.00/Attribution.json +249 -249
  469. teradataml/data/jsons/sqle/17.00/DecisionForestPredict.json +156 -156
  470. teradataml/data/jsons/sqle/17.00/DecisionTreePredict.json +170 -170
  471. teradataml/data/jsons/sqle/17.00/GLMPredict.json +122 -122
  472. teradataml/data/jsons/sqle/17.00/MovingAverage.json +367 -367
  473. teradataml/data/jsons/sqle/17.00/NGramSplitter.json +239 -239
  474. teradataml/data/jsons/sqle/17.00/NaiveBayesPredict.json +136 -136
  475. teradataml/data/jsons/sqle/17.00/NaiveBayesTextClassifierPredict.json +235 -235
  476. teradataml/data/jsons/sqle/17.00/Pack.json +98 -98
  477. teradataml/data/jsons/sqle/17.00/SVMSparsePredict.json +162 -162
  478. teradataml/data/jsons/sqle/17.00/Sessionize.json +105 -105
  479. teradataml/data/jsons/sqle/17.00/StringSimilarity.json +86 -86
  480. teradataml/data/jsons/sqle/17.00/Unpack.json +166 -166
  481. teradataml/data/jsons/sqle/17.00/nPath.json +269 -269
  482. teradataml/data/jsons/sqle/17.05/Antiselect.json +56 -56
  483. teradataml/data/jsons/sqle/17.05/Attribution.json +249 -249
  484. teradataml/data/jsons/sqle/17.05/DecisionForestPredict.json +156 -156
  485. teradataml/data/jsons/sqle/17.05/DecisionTreePredict.json +170 -170
  486. teradataml/data/jsons/sqle/17.05/GLMPredict.json +122 -122
  487. teradataml/data/jsons/sqle/17.05/MovingAverage.json +367 -367
  488. teradataml/data/jsons/sqle/17.05/NGramSplitter.json +239 -239
  489. teradataml/data/jsons/sqle/17.05/NaiveBayesPredict.json +136 -136
  490. teradataml/data/jsons/sqle/17.05/NaiveBayesTextClassifierPredict.json +235 -235
  491. teradataml/data/jsons/sqle/17.05/Pack.json +98 -98
  492. teradataml/data/jsons/sqle/17.05/SVMSparsePredict.json +162 -162
  493. teradataml/data/jsons/sqle/17.05/Sessionize.json +105 -105
  494. teradataml/data/jsons/sqle/17.05/StringSimilarity.json +86 -86
  495. teradataml/data/jsons/sqle/17.05/Unpack.json +166 -166
  496. teradataml/data/jsons/sqle/17.05/nPath.json +269 -269
  497. teradataml/data/jsons/sqle/17.10/Antiselect.json +56 -56
  498. teradataml/data/jsons/sqle/17.10/Attribution.json +249 -249
  499. teradataml/data/jsons/sqle/17.10/DecisionForestPredict.json +185 -185
  500. teradataml/data/jsons/sqle/17.10/DecisionTreePredict.json +171 -171
  501. teradataml/data/jsons/sqle/17.10/GLMPredict.json +151 -151
  502. teradataml/data/jsons/sqle/17.10/MovingAverage.json +368 -368
  503. teradataml/data/jsons/sqle/17.10/NGramSplitter.json +239 -239
  504. teradataml/data/jsons/sqle/17.10/NaiveBayesPredict.json +149 -149
  505. teradataml/data/jsons/sqle/17.10/NaiveBayesTextClassifierPredict.json +288 -288
  506. teradataml/data/jsons/sqle/17.10/Pack.json +133 -133
  507. teradataml/data/jsons/sqle/17.10/SVMSparsePredict.json +193 -193
  508. teradataml/data/jsons/sqle/17.10/Sessionize.json +105 -105
  509. teradataml/data/jsons/sqle/17.10/StringSimilarity.json +86 -86
  510. teradataml/data/jsons/sqle/17.10/TD_BinCodeFit.json +239 -239
  511. teradataml/data/jsons/sqle/17.10/TD_BinCodeTransform.json +70 -70
  512. teradataml/data/jsons/sqle/17.10/TD_CategoricalSummary.json +53 -53
  513. teradataml/data/jsons/sqle/17.10/TD_Chisq.json +67 -67
  514. teradataml/data/jsons/sqle/17.10/TD_ColumnSummary.json +53 -53
  515. teradataml/data/jsons/sqle/17.10/TD_ConvertTo.json +68 -68
  516. teradataml/data/jsons/sqle/17.10/TD_FTest.json +187 -187
  517. teradataml/data/jsons/sqle/17.10/TD_FillRowID.json +51 -51
  518. teradataml/data/jsons/sqle/17.10/TD_FunctionFit.json +46 -46
  519. teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +72 -71
  520. teradataml/data/jsons/sqle/17.10/TD_GetRowsWithMissingValues.json +52 -52
  521. teradataml/data/jsons/sqle/17.10/TD_GetRowsWithoutMissingValues.json +52 -52
  522. teradataml/data/jsons/sqle/17.10/TD_Histogram.json +132 -132
  523. teradataml/data/jsons/sqle/17.10/TD_NumApply.json +147 -147
  524. teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingFit.json +182 -182
  525. teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +65 -64
  526. teradataml/data/jsons/sqle/17.10/TD_OutlierFilterFit.json +196 -196
  527. teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +48 -47
  528. teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesFit.json +114 -114
  529. teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +72 -71
  530. teradataml/data/jsons/sqle/17.10/TD_QQNorm.json +111 -111
  531. teradataml/data/jsons/sqle/17.10/TD_RoundColumns.json +93 -93
  532. teradataml/data/jsons/sqle/17.10/TD_RowNormalizeFit.json +127 -127
  533. teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +70 -69
  534. teradataml/data/jsons/sqle/17.10/TD_ScaleFit.json +156 -156
  535. teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +70 -69
  536. teradataml/data/jsons/sqle/17.10/TD_SimpleImputeFit.json +147 -147
  537. teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +48 -47
  538. teradataml/data/jsons/sqle/17.10/TD_StrApply.json +240 -240
  539. teradataml/data/jsons/sqle/17.10/TD_UnivariateStatistics.json +118 -118
  540. teradataml/data/jsons/sqle/17.10/TD_WhichMax.json +52 -52
  541. teradataml/data/jsons/sqle/17.10/TD_WhichMin.json +52 -52
  542. teradataml/data/jsons/sqle/17.10/TD_ZTest.json +171 -171
  543. teradataml/data/jsons/sqle/17.10/Unpack.json +188 -188
  544. teradataml/data/jsons/sqle/17.10/nPath.json +269 -269
  545. teradataml/data/jsons/sqle/17.20/Antiselect.json +56 -56
  546. teradataml/data/jsons/sqle/17.20/Attribution.json +249 -249
  547. teradataml/data/jsons/sqle/17.20/DecisionForestPredict.json +185 -185
  548. teradataml/data/jsons/sqle/17.20/DecisionTreePredict.json +172 -172
  549. teradataml/data/jsons/sqle/17.20/GLMPredict.json +151 -151
  550. teradataml/data/jsons/sqle/17.20/MovingAverage.json +367 -367
  551. teradataml/data/jsons/sqle/17.20/NGramSplitter.json +239 -239
  552. teradataml/data/jsons/sqle/17.20/NaiveBayesPredict.json +149 -149
  553. teradataml/data/jsons/sqle/17.20/NaiveBayesTextClassifierPredict.json +287 -287
  554. teradataml/data/jsons/sqle/17.20/Pack.json +133 -133
  555. teradataml/data/jsons/sqle/17.20/SVMSparsePredict.json +192 -192
  556. teradataml/data/jsons/sqle/17.20/Sessionize.json +105 -105
  557. teradataml/data/jsons/sqle/17.20/StringSimilarity.json +86 -86
  558. teradataml/data/jsons/sqle/17.20/TD_ANOVA.json +76 -76
  559. teradataml/data/jsons/sqle/17.20/TD_BinCodeFit.json +239 -239
  560. teradataml/data/jsons/sqle/17.20/TD_BinCodeTransform.json +71 -71
  561. teradataml/data/jsons/sqle/17.20/TD_CategoricalSummary.json +53 -53
  562. teradataml/data/jsons/sqle/17.20/TD_Chisq.json +67 -67
  563. teradataml/data/jsons/sqle/17.20/TD_ClassificationEvaluator.json +145 -145
  564. teradataml/data/jsons/sqle/17.20/TD_ColumnSummary.json +53 -53
  565. teradataml/data/jsons/sqle/17.20/TD_ColumnTransformer.json +218 -218
  566. teradataml/data/jsons/sqle/17.20/TD_ConvertTo.json +92 -92
  567. teradataml/data/jsons/sqle/17.20/TD_DecisionForest.json +259 -259
  568. teradataml/data/jsons/sqle/17.20/TD_DecisionForestPredict.json +139 -139
  569. teradataml/data/jsons/sqle/17.20/TD_FTest.json +186 -186
  570. teradataml/data/jsons/sqle/17.20/TD_FillRowID.json +52 -52
  571. teradataml/data/jsons/sqle/17.20/TD_FunctionFit.json +46 -46
  572. teradataml/data/jsons/sqle/17.20/TD_FunctionTransform.json +72 -72
  573. teradataml/data/jsons/sqle/17.20/TD_GLM.json +431 -431
  574. teradataml/data/jsons/sqle/17.20/TD_GLMPREDICT.json +125 -125
  575. teradataml/data/jsons/sqle/17.20/TD_GLMPerSegment.json +411 -411
  576. teradataml/data/jsons/sqle/17.20/TD_GLMPredictPerSegment.json +146 -146
  577. teradataml/data/jsons/sqle/17.20/TD_GetFutileColumns.json +91 -91
  578. teradataml/data/jsons/sqle/17.20/TD_GetRowsWithMissingValues.json +76 -76
  579. teradataml/data/jsons/sqle/17.20/TD_GetRowsWithoutMissingValues.json +76 -76
  580. teradataml/data/jsons/sqle/17.20/TD_Histogram.json +152 -152
  581. teradataml/data/jsons/sqle/17.20/TD_KMeans.json +211 -211
  582. teradataml/data/jsons/sqle/17.20/TD_KMeansPredict.json +86 -86
  583. teradataml/data/jsons/sqle/17.20/TD_KNN.json +262 -262
  584. teradataml/data/jsons/sqle/17.20/TD_NaiveBayesTextClassifierTrainer.json +137 -137
  585. teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineFit.json +101 -101
  586. teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineTransform.json +71 -71
  587. teradataml/data/jsons/sqle/17.20/TD_NumApply.json +147 -147
  588. teradataml/data/jsons/sqle/17.20/TD_OneClassSVM.json +315 -315
  589. teradataml/data/jsons/sqle/17.20/TD_OneClassSVMPredict.json +123 -123
  590. teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingFit.json +271 -271
  591. teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingTransform.json +65 -65
  592. teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingFit.json +229 -229
  593. teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingTransform.json +75 -75
  594. teradataml/data/jsons/sqle/17.20/TD_OutlierFilterFit.json +217 -217
  595. teradataml/data/jsons/sqle/17.20/TD_OutlierFilterTransform.json +48 -48
  596. teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesFit.json +114 -114
  597. teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesTransform.json +72 -72
  598. teradataml/data/jsons/sqle/17.20/TD_QQNorm.json +111 -111
  599. teradataml/data/jsons/sqle/17.20/TD_ROC.json +177 -177
  600. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionFit.json +178 -178
  601. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionMinComponents.json +73 -73
  602. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionTransform.json +74 -74
  603. teradataml/data/jsons/sqle/17.20/TD_RegressionEvaluator.json +137 -137
  604. teradataml/data/jsons/sqle/17.20/TD_RoundColumns.json +93 -93
  605. teradataml/data/jsons/sqle/17.20/TD_RowNormalizeFit.json +127 -127
  606. teradataml/data/jsons/sqle/17.20/TD_RowNormalizeTransform.json +70 -70
  607. teradataml/data/jsons/sqle/17.20/TD_SVM.json +389 -389
  608. teradataml/data/jsons/sqle/17.20/TD_SVMPredict.json +124 -124
  609. teradataml/data/jsons/sqle/17.20/TD_ScaleFit.json +156 -156
  610. teradataml/data/jsons/sqle/17.20/TD_ScaleTransform.json +70 -70
  611. teradataml/data/jsons/sqle/17.20/TD_SentimentExtractor.json +193 -193
  612. teradataml/data/jsons/sqle/17.20/TD_Silhouette.json +142 -142
  613. teradataml/data/jsons/sqle/17.20/TD_SimpleImputeFit.json +147 -147
  614. teradataml/data/jsons/sqle/17.20/TD_SimpleImputeTransform.json +48 -48
  615. teradataml/data/jsons/sqle/17.20/TD_StrApply.json +240 -240
  616. teradataml/data/jsons/sqle/17.20/TD_TargetEncodingFit.json +248 -248
  617. teradataml/data/jsons/sqle/17.20/TD_TargetEncodingTransform.json +75 -75
  618. teradataml/data/jsons/sqle/17.20/TD_TextParser.json +192 -192
  619. teradataml/data/jsons/sqle/17.20/TD_TrainTestSplit.json +142 -142
  620. teradataml/data/jsons/sqle/17.20/TD_UnivariateStatistics.json +117 -117
  621. teradataml/data/jsons/sqle/17.20/TD_VectorDistance.json +182 -182
  622. teradataml/data/jsons/sqle/17.20/TD_WhichMax.json +52 -52
  623. teradataml/data/jsons/sqle/17.20/TD_WhichMin.json +52 -52
  624. teradataml/data/jsons/sqle/17.20/TD_WordEmbeddings.json +241 -241
  625. teradataml/data/jsons/sqle/17.20/TD_XGBoost.json +312 -312
  626. teradataml/data/jsons/sqle/17.20/TD_XGBoostPredict.json +182 -182
  627. teradataml/data/jsons/sqle/17.20/TD_ZTest.json +170 -170
  628. teradataml/data/jsons/sqle/17.20/Unpack.json +188 -188
  629. teradataml/data/jsons/sqle/17.20/nPath.json +269 -269
  630. teradataml/data/jsons/tableoperator/17.00/read_nos.json +197 -197
  631. teradataml/data/jsons/tableoperator/17.05/read_nos.json +197 -197
  632. teradataml/data/jsons/tableoperator/17.05/write_nos.json +194 -194
  633. teradataml/data/jsons/tableoperator/17.10/read_nos.json +183 -183
  634. teradataml/data/jsons/tableoperator/17.10/write_nos.json +194 -194
  635. teradataml/data/jsons/tableoperator/17.20/read_nos.json +182 -182
  636. teradataml/data/jsons/tableoperator/17.20/write_nos.json +223 -223
  637. teradataml/data/jsons/uaf/17.20/TD_ACF.json +149 -149
  638. teradataml/data/jsons/uaf/17.20/TD_ARIMAESTIMATE.json +409 -409
  639. teradataml/data/jsons/uaf/17.20/TD_ARIMAFORECAST.json +79 -79
  640. teradataml/data/jsons/uaf/17.20/TD_ARIMAVALIDATE.json +151 -151
  641. teradataml/data/jsons/uaf/17.20/TD_BINARYMATRIXOP.json +109 -109
  642. teradataml/data/jsons/uaf/17.20/TD_BINARYSERIESOP.json +107 -107
  643. teradataml/data/jsons/uaf/17.20/TD_BREUSCH_GODFREY.json +87 -87
  644. teradataml/data/jsons/uaf/17.20/TD_BREUSCH_PAGAN_GODFREY.json +106 -106
  645. teradataml/data/jsons/uaf/17.20/TD_CONVOLVE.json +80 -80
  646. teradataml/data/jsons/uaf/17.20/TD_CONVOLVE2.json +67 -67
  647. teradataml/data/jsons/uaf/17.20/TD_CUMUL_PERIODOGRAM.json +91 -91
  648. teradataml/data/jsons/uaf/17.20/TD_DFFT.json +136 -136
  649. teradataml/data/jsons/uaf/17.20/TD_DFFT2.json +148 -148
  650. teradataml/data/jsons/uaf/17.20/TD_DFFT2CONV.json +108 -108
  651. teradataml/data/jsons/uaf/17.20/TD_DFFTCONV.json +109 -109
  652. teradataml/data/jsons/uaf/17.20/TD_DICKEY_FULLER.json +86 -86
  653. teradataml/data/jsons/uaf/17.20/TD_DIFF.json +91 -91
  654. teradataml/data/jsons/uaf/17.20/TD_DTW.json +116 -116
  655. teradataml/data/jsons/uaf/17.20/TD_DURBIN_WATSON.json +100 -100
  656. teradataml/data/jsons/uaf/17.20/TD_EXTRACT_RESULTS.json +38 -38
  657. teradataml/data/jsons/uaf/17.20/TD_FITMETRICS.json +100 -100
  658. teradataml/data/jsons/uaf/17.20/TD_GENSERIES4FORMULA.json +84 -84
  659. teradataml/data/jsons/uaf/17.20/TD_GENSERIES4SINUSOIDS.json +70 -70
  660. teradataml/data/jsons/uaf/17.20/TD_GOLDFELD_QUANDT.json +152 -152
  661. teradataml/data/jsons/uaf/17.20/TD_HOLT_WINTERS_FORECAST.json +313 -313
  662. teradataml/data/jsons/uaf/17.20/TD_IDFFT.json +57 -57
  663. teradataml/data/jsons/uaf/17.20/TD_IDFFT2.json +94 -94
  664. teradataml/data/jsons/uaf/17.20/TD_INPUTVALIDATOR.json +63 -63
  665. teradataml/data/jsons/uaf/17.20/TD_LINEAR_REGR.json +181 -181
  666. teradataml/data/jsons/uaf/17.20/TD_LINESPEC.json +102 -102
  667. teradataml/data/jsons/uaf/17.20/TD_MAMEAN.json +182 -182
  668. teradataml/data/jsons/uaf/17.20/TD_MATRIXMULTIPLY.json +67 -67
  669. teradataml/data/jsons/uaf/17.20/TD_MINFO.json +66 -66
  670. teradataml/data/jsons/uaf/17.20/TD_MULTIVAR_REGR.json +178 -178
  671. teradataml/data/jsons/uaf/17.20/TD_PACF.json +114 -114
  672. teradataml/data/jsons/uaf/17.20/TD_PORTMAN.json +118 -118
  673. teradataml/data/jsons/uaf/17.20/TD_POWERSPEC.json +175 -175
  674. teradataml/data/jsons/uaf/17.20/TD_POWERTRANSFORM.json +97 -97
  675. teradataml/data/jsons/uaf/17.20/TD_RESAMPLE.json +173 -173
  676. teradataml/data/jsons/uaf/17.20/TD_SEASONALNORMALIZE.json +136 -136
  677. teradataml/data/jsons/uaf/17.20/TD_SELECTION_CRITERIA.json +89 -89
  678. teradataml/data/jsons/uaf/17.20/TD_SIGNIF_PERIODICITIES.json +79 -79
  679. teradataml/data/jsons/uaf/17.20/TD_SIGNIF_RESIDMEAN.json +67 -67
  680. teradataml/data/jsons/uaf/17.20/TD_SIMPLEEXP.json +184 -184
  681. teradataml/data/jsons/uaf/17.20/TD_SINFO.json +57 -57
  682. teradataml/data/jsons/uaf/17.20/TD_SMOOTHMA.json +162 -162
  683. teradataml/data/jsons/uaf/17.20/TD_TRACKINGOP.json +100 -100
  684. teradataml/data/jsons/uaf/17.20/TD_UNDIFF.json +111 -111
  685. teradataml/data/jsons/uaf/17.20/TD_UNNORMALIZE.json +95 -95
  686. teradataml/data/jsons/uaf/17.20/TD_WHITES_GENERAL.json +77 -77
  687. teradataml/data/kmeans_example.json +17 -17
  688. teradataml/data/kmeans_us_arrests_data.csv +0 -0
  689. teradataml/data/knn_example.json +18 -18
  690. teradataml/data/knnrecommender_example.json +6 -6
  691. teradataml/data/knnrecommenderpredict_example.json +12 -12
  692. teradataml/data/lar_example.json +17 -17
  693. teradataml/data/larpredict_example.json +30 -30
  694. teradataml/data/lc_new_predictors.csv +5 -5
  695. teradataml/data/lc_new_reference.csv +9 -9
  696. teradataml/data/lda_example.json +8 -8
  697. teradataml/data/ldainference_example.json +14 -14
  698. teradataml/data/ldatopicsummary_example.json +8 -8
  699. teradataml/data/levendist_input.csv +13 -13
  700. teradataml/data/levenshteindistance_example.json +10 -10
  701. teradataml/data/linreg_example.json +9 -9
  702. teradataml/data/load_example_data.py +326 -323
  703. teradataml/data/loan_prediction.csv +295 -295
  704. teradataml/data/lungcancer.csv +138 -138
  705. teradataml/data/mappingdata.csv +12 -12
  706. teradataml/data/milk_timeseries.csv +157 -157
  707. teradataml/data/min_max_titanic.csv +4 -4
  708. teradataml/data/minhash_example.json +6 -6
  709. teradataml/data/ml_ratings.csv +7547 -7547
  710. teradataml/data/ml_ratings_10.csv +2445 -2445
  711. teradataml/data/model1_table.csv +5 -5
  712. teradataml/data/model2_table.csv +5 -5
  713. teradataml/data/models/iris_db_glm_model.pmml +56 -56
  714. teradataml/data/models/iris_db_xgb_model.pmml +4471 -4471
  715. teradataml/data/modularity_example.json +12 -12
  716. teradataml/data/movavg_example.json +7 -7
  717. teradataml/data/mtx1.csv +7 -7
  718. teradataml/data/mtx2.csv +13 -13
  719. teradataml/data/multi_model_classification.csv +401 -0
  720. teradataml/data/multi_model_regression.csv +401 -0
  721. teradataml/data/mvdfft8.csv +9 -9
  722. teradataml/data/naivebayes_example.json +9 -9
  723. teradataml/data/naivebayespredict_example.json +19 -19
  724. teradataml/data/naivebayestextclassifier2_example.json +6 -6
  725. teradataml/data/naivebayestextclassifier_example.json +8 -8
  726. teradataml/data/naivebayestextclassifierpredict_example.json +20 -20
  727. teradataml/data/name_Find_configure.csv +10 -10
  728. teradataml/data/namedentityfinder_example.json +14 -14
  729. teradataml/data/namedentityfinderevaluator_example.json +10 -10
  730. teradataml/data/namedentityfindertrainer_example.json +6 -6
  731. teradataml/data/nb_iris_input_test.csv +31 -31
  732. teradataml/data/nb_iris_input_train.csv +121 -121
  733. teradataml/data/nbp_iris_model.csv +13 -13
  734. teradataml/data/ner_extractor_text.csv +2 -2
  735. teradataml/data/ner_sports_test2.csv +29 -29
  736. teradataml/data/ner_sports_train.csv +501 -501
  737. teradataml/data/nerevaluator_example.json +5 -5
  738. teradataml/data/nerextractor_example.json +18 -18
  739. teradataml/data/nermem_sports_test.csv +17 -17
  740. teradataml/data/nermem_sports_train.csv +50 -50
  741. teradataml/data/nertrainer_example.json +6 -6
  742. teradataml/data/ngrams_example.json +6 -6
  743. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Aggregate Functions using SQLAlchemy.ipynb +1455 -1455
  744. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Arithmetic Functions Using SQLAlchemy.ipynb +1993 -1993
  745. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Bit-Byte Manipulation Functions using SQLAlchemy.ipynb +1492 -1492
  746. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Built-in functions using SQLAlchemy.ipynb +536 -536
  747. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Regular Expressions Using SQLAlchemy.ipynb +570 -570
  748. teradataml/data/notebooks/sqlalchemy/Teradata Vantage String Functions Using SQLAlchemy.ipynb +2559 -2559
  749. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Window Aggregate Functions using SQLAlchemy.ipynb +2911 -2911
  750. teradataml/data/notebooks/sqlalchemy/Using Generic SQLAlchemy ClauseElements teradataml DataFrame assign method.ipynb +698 -698
  751. teradataml/data/notebooks/sqlalchemy/teradataml filtering using SQLAlchemy ClauseElements.ipynb +784 -784
  752. teradataml/data/npath_example.json +23 -23
  753. teradataml/data/ntree_example.json +14 -14
  754. teradataml/data/numeric_strings.csv +4 -4
  755. teradataml/data/numerics.csv +4 -4
  756. teradataml/data/ocean_buoy.csv +17 -17
  757. teradataml/data/ocean_buoy2.csv +17 -17
  758. teradataml/data/ocean_buoys.csv +27 -27
  759. teradataml/data/ocean_buoys2.csv +10 -10
  760. teradataml/data/ocean_buoys_nonpti.csv +28 -28
  761. teradataml/data/ocean_buoys_seq.csv +29 -29
  762. teradataml/data/openml_example.json +63 -0
  763. teradataml/data/optional_event_table.csv +4 -4
  764. teradataml/data/orders1.csv +11 -11
  765. teradataml/data/orders1_12.csv +12 -12
  766. teradataml/data/orders_ex.csv +4 -4
  767. teradataml/data/pack_example.json +8 -8
  768. teradataml/data/package_tracking.csv +19 -19
  769. teradataml/data/package_tracking_pti.csv +18 -18
  770. teradataml/data/pagerank_example.json +13 -13
  771. teradataml/data/paragraphs_input.csv +6 -6
  772. teradataml/data/pathanalyzer_example.json +7 -7
  773. teradataml/data/pathgenerator_example.json +7 -7
  774. teradataml/data/phrases.csv +7 -7
  775. teradataml/data/pivot_example.json +8 -8
  776. teradataml/data/pivot_input.csv +22 -22
  777. teradataml/data/playerRating.csv +31 -31
  778. teradataml/data/postagger_example.json +6 -6
  779. teradataml/data/posttagger_output.csv +44 -44
  780. teradataml/data/production_data.csv +16 -16
  781. teradataml/data/production_data2.csv +7 -7
  782. teradataml/data/randomsample_example.json +31 -31
  783. teradataml/data/randomwalksample_example.json +8 -8
  784. teradataml/data/rank_table.csv +6 -6
  785. teradataml/data/ref_mobile_data.csv +4 -4
  786. teradataml/data/ref_mobile_data_dense.csv +2 -2
  787. teradataml/data/ref_url.csv +17 -17
  788. teradataml/data/restaurant_reviews.csv +7 -7
  789. teradataml/data/river_data.csv +145 -145
  790. teradataml/data/roc_example.json +7 -7
  791. teradataml/data/roc_input.csv +101 -101
  792. teradataml/data/rule_inputs.csv +6 -6
  793. teradataml/data/rule_table.csv +2 -2
  794. teradataml/data/sales.csv +7 -7
  795. teradataml/data/sales_transaction.csv +501 -501
  796. teradataml/data/salesdata.csv +342 -342
  797. teradataml/data/sample_cities.csv +2 -2
  798. teradataml/data/sample_shapes.csv +10 -10
  799. teradataml/data/sample_streets.csv +2 -2
  800. teradataml/data/sampling_example.json +15 -15
  801. teradataml/data/sax_example.json +8 -8
  802. teradataml/data/scale_example.json +23 -23
  803. teradataml/data/scale_housing.csv +11 -11
  804. teradataml/data/scale_housing_test.csv +6 -6
  805. teradataml/data/scale_stat.csv +11 -11
  806. teradataml/data/scalebypartition_example.json +13 -13
  807. teradataml/data/scalemap_example.json +13 -13
  808. teradataml/data/scalesummary_example.json +12 -12
  809. teradataml/data/score_category.csv +101 -101
  810. teradataml/data/score_summary.csv +4 -4
  811. teradataml/data/script_example.json +9 -9
  812. teradataml/data/scripts/deploy_script.py +65 -0
  813. teradataml/data/scripts/mapper.R +20 -0
  814. teradataml/data/scripts/mapper.py +15 -15
  815. teradataml/data/scripts/mapper_replace.py +15 -15
  816. teradataml/data/scripts/sklearn/__init__.py +0 -0
  817. teradataml/data/scripts/sklearn/sklearn_fit.py +175 -0
  818. teradataml/data/scripts/sklearn/sklearn_fit_predict.py +135 -0
  819. teradataml/data/scripts/sklearn/sklearn_function.template +113 -0
  820. teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +158 -0
  821. teradataml/data/scripts/sklearn/sklearn_neighbors.py +152 -0
  822. teradataml/data/scripts/sklearn/sklearn_score.py +128 -0
  823. teradataml/data/scripts/sklearn/sklearn_transform.py +179 -0
  824. teradataml/data/seeds.csv +10 -10
  825. teradataml/data/sentenceextractor_example.json +6 -6
  826. teradataml/data/sentiment_extract_input.csv +11 -11
  827. teradataml/data/sentiment_train.csv +16 -16
  828. teradataml/data/sentiment_word.csv +20 -20
  829. teradataml/data/sentiment_word_input.csv +19 -19
  830. teradataml/data/sentimentextractor_example.json +24 -24
  831. teradataml/data/sentimenttrainer_example.json +8 -8
  832. teradataml/data/sequence_table.csv +10 -10
  833. teradataml/data/seriessplitter_example.json +7 -7
  834. teradataml/data/sessionize_example.json +17 -17
  835. teradataml/data/sessionize_table.csv +116 -116
  836. teradataml/data/setop_test1.csv +24 -24
  837. teradataml/data/setop_test2.csv +22 -22
  838. teradataml/data/soc_nw_edges.csv +10 -10
  839. teradataml/data/soc_nw_vertices.csv +7 -7
  840. teradataml/data/souvenir_timeseries.csv +167 -167
  841. teradataml/data/sparse_iris_attribute.csv +5 -5
  842. teradataml/data/sparse_iris_test.csv +121 -121
  843. teradataml/data/sparse_iris_train.csv +601 -601
  844. teradataml/data/star1.csv +6 -6
  845. teradataml/data/state_transition.csv +5 -5
  846. teradataml/data/stock_data.csv +53 -53
  847. teradataml/data/stock_movement.csv +11 -11
  848. teradataml/data/stock_vol.csv +76 -76
  849. teradataml/data/stop_words.csv +8 -8
  850. teradataml/data/store_sales.csv +37 -37
  851. teradataml/data/stringsimilarity_example.json +7 -7
  852. teradataml/data/strsimilarity_input.csv +13 -13
  853. teradataml/data/students.csv +101 -101
  854. teradataml/data/svm_iris_input_test.csv +121 -121
  855. teradataml/data/svm_iris_input_train.csv +481 -481
  856. teradataml/data/svm_iris_model.csv +7 -7
  857. teradataml/data/svmdense_example.json +9 -9
  858. teradataml/data/svmdensepredict_example.json +18 -18
  859. teradataml/data/svmsparse_example.json +7 -7
  860. teradataml/data/svmsparsepredict_example.json +13 -13
  861. teradataml/data/svmsparsesummary_example.json +7 -7
  862. teradataml/data/target_mobile_data.csv +13 -13
  863. teradataml/data/target_mobile_data_dense.csv +5 -5
  864. teradataml/data/templatedata.csv +1201 -1201
  865. teradataml/data/templates/open_source_ml.json +9 -0
  866. teradataml/data/teradataml_example.json +73 -1
  867. teradataml/data/test_classification.csv +101 -0
  868. teradataml/data/test_loan_prediction.csv +53 -53
  869. teradataml/data/test_pacf_12.csv +37 -37
  870. teradataml/data/test_prediction.csv +101 -0
  871. teradataml/data/test_regression.csv +101 -0
  872. teradataml/data/test_river2.csv +109 -109
  873. teradataml/data/text_inputs.csv +6 -6
  874. teradataml/data/textchunker_example.json +7 -7
  875. teradataml/data/textclassifier_example.json +6 -6
  876. teradataml/data/textclassifier_input.csv +7 -7
  877. teradataml/data/textclassifiertrainer_example.json +6 -6
  878. teradataml/data/textmorph_example.json +5 -5
  879. teradataml/data/textparser_example.json +15 -15
  880. teradataml/data/texttagger_example.json +11 -11
  881. teradataml/data/texttokenizer_example.json +6 -6
  882. teradataml/data/texttrainer_input.csv +11 -11
  883. teradataml/data/tf_example.json +6 -6
  884. teradataml/data/tfidf_example.json +13 -13
  885. teradataml/data/tfidf_input1.csv +201 -201
  886. teradataml/data/tfidf_train.csv +6 -6
  887. teradataml/data/time_table1.csv +535 -535
  888. teradataml/data/time_table2.csv +14 -14
  889. teradataml/data/timeseriesdata.csv +1601 -1601
  890. teradataml/data/timeseriesdatasetsd4.csv +105 -105
  891. teradataml/data/titanic.csv +892 -892
  892. teradataml/data/token_table.csv +696 -696
  893. teradataml/data/train_multiclass.csv +101 -0
  894. teradataml/data/train_regression.csv +101 -0
  895. teradataml/data/train_regression_multiple_labels.csv +101 -0
  896. teradataml/data/train_tracking.csv +27 -27
  897. teradataml/data/transformation_table.csv +5 -5
  898. teradataml/data/transformation_table_new.csv +1 -1
  899. teradataml/data/tv_spots.csv +16 -16
  900. teradataml/data/twod_climate_data.csv +117 -117
  901. teradataml/data/uaf_example.json +475 -475
  902. teradataml/data/univariatestatistics_example.json +8 -8
  903. teradataml/data/unpack_example.json +9 -9
  904. teradataml/data/unpivot_example.json +9 -9
  905. teradataml/data/unpivot_input.csv +8 -8
  906. teradataml/data/us_air_pass.csv +36 -36
  907. teradataml/data/us_population.csv +624 -624
  908. teradataml/data/us_states_shapes.csv +52 -52
  909. teradataml/data/varmax_example.json +17 -17
  910. teradataml/data/vectordistance_example.json +25 -25
  911. teradataml/data/ville_climatedata.csv +121 -121
  912. teradataml/data/ville_tempdata.csv +12 -12
  913. teradataml/data/ville_tempdata1.csv +12 -12
  914. teradataml/data/ville_temperature.csv +11 -11
  915. teradataml/data/waveletTable.csv +1605 -1605
  916. teradataml/data/waveletTable2.csv +1605 -1605
  917. teradataml/data/weightedmovavg_example.json +8 -8
  918. teradataml/data/wft_testing.csv +5 -5
  919. teradataml/data/wine_data.csv +1600 -0
  920. teradataml/data/word_embed_input_table1.csv +5 -5
  921. teradataml/data/word_embed_input_table2.csv +4 -4
  922. teradataml/data/word_embed_model.csv +22 -22
  923. teradataml/data/words_input.csv +13 -13
  924. teradataml/data/xconvolve_complex_left.csv +6 -6
  925. teradataml/data/xconvolve_complex_leftmulti.csv +6 -6
  926. teradataml/data/xgboost_example.json +35 -35
  927. teradataml/data/xgboostpredict_example.json +31 -31
  928. teradataml/dataframe/copy_to.py +1764 -1698
  929. teradataml/dataframe/data_transfer.py +2753 -2745
  930. teradataml/dataframe/dataframe.py +17545 -16946
  931. teradataml/dataframe/dataframe_utils.py +1837 -1740
  932. teradataml/dataframe/fastload.py +611 -603
  933. teradataml/dataframe/indexer.py +424 -424
  934. teradataml/dataframe/setop.py +1179 -1166
  935. teradataml/dataframe/sql.py +10090 -6432
  936. teradataml/dataframe/sql_function_parameters.py +439 -388
  937. teradataml/dataframe/sql_functions.py +652 -652
  938. teradataml/dataframe/sql_interfaces.py +220 -220
  939. teradataml/dataframe/vantage_function_types.py +674 -630
  940. teradataml/dataframe/window.py +693 -692
  941. teradataml/dbutils/__init__.py +3 -3
  942. teradataml/dbutils/dbutils.py +1167 -1150
  943. teradataml/dbutils/filemgr.py +267 -267
  944. teradataml/gen_ai/__init__.py +2 -2
  945. teradataml/gen_ai/convAI.py +472 -472
  946. teradataml/geospatial/__init__.py +3 -3
  947. teradataml/geospatial/geodataframe.py +1105 -1094
  948. teradataml/geospatial/geodataframecolumn.py +392 -387
  949. teradataml/geospatial/geometry_types.py +925 -925
  950. teradataml/hyperparameter_tuner/__init__.py +1 -1
  951. teradataml/hyperparameter_tuner/optimizer.py +3783 -2993
  952. teradataml/hyperparameter_tuner/utils.py +281 -187
  953. teradataml/lib/aed_0_1.dll +0 -0
  954. teradataml/lib/libaed_0_1.dylib +0 -0
  955. teradataml/lib/libaed_0_1.so +0 -0
  956. teradataml/libaed_0_1.dylib +0 -0
  957. teradataml/libaed_0_1.so +0 -0
  958. teradataml/opensource/__init__.py +1 -0
  959. teradataml/opensource/sklearn/__init__.py +1 -0
  960. teradataml/opensource/sklearn/_class.py +255 -0
  961. teradataml/opensource/sklearn/_sklearn_wrapper.py +1668 -0
  962. teradataml/opensource/sklearn/_wrapper_utils.py +268 -0
  963. teradataml/opensource/sklearn/constants.py +54 -0
  964. teradataml/options/__init__.py +121 -124
  965. teradataml/options/configure.py +337 -336
  966. teradataml/options/display.py +176 -176
  967. teradataml/plot/__init__.py +2 -2
  968. teradataml/plot/axis.py +1388 -1388
  969. teradataml/plot/constants.py +15 -15
  970. teradataml/plot/figure.py +398 -398
  971. teradataml/plot/plot.py +760 -760
  972. teradataml/plot/query_generator.py +83 -83
  973. teradataml/plot/subplot.py +216 -216
  974. teradataml/scriptmgmt/UserEnv.py +3788 -3761
  975. teradataml/scriptmgmt/__init__.py +3 -3
  976. teradataml/scriptmgmt/lls_utils.py +1616 -1604
  977. teradataml/series/series.py +532 -532
  978. teradataml/series/series_utils.py +71 -71
  979. teradataml/table_operators/Apply.py +949 -917
  980. teradataml/table_operators/Script.py +1719 -1982
  981. teradataml/table_operators/TableOperator.py +1207 -1616
  982. teradataml/table_operators/__init__.py +2 -3
  983. teradataml/table_operators/apply_query_generator.py +262 -262
  984. teradataml/table_operators/query_generator.py +507 -507
  985. teradataml/table_operators/table_operator_query_generator.py +460 -460
  986. teradataml/table_operators/table_operator_util.py +631 -639
  987. teradataml/table_operators/templates/dataframe_apply.template +184 -184
  988. teradataml/table_operators/templates/dataframe_map.template +176 -176
  989. teradataml/table_operators/templates/script_executor.template +170 -170
  990. teradataml/utils/dtypes.py +684 -684
  991. teradataml/utils/internal_buffer.py +84 -84
  992. teradataml/utils/print_versions.py +205 -205
  993. teradataml/utils/utils.py +410 -410
  994. teradataml/utils/validators.py +2239 -2115
  995. {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.0.dist-info}/METADATA +270 -41
  996. teradataml-20.0.0.0.dist-info/RECORD +1038 -0
  997. {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.0.dist-info}/WHEEL +1 -1
  998. {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.0.dist-info}/zip-safe +1 -1
  999. teradataml/analytics/mle/AdaBoost.py +0 -651
  1000. teradataml/analytics/mle/AdaBoostPredict.py +0 -564
  1001. teradataml/analytics/mle/Antiselect.py +0 -342
  1002. teradataml/analytics/mle/Arima.py +0 -641
  1003. teradataml/analytics/mle/ArimaPredict.py +0 -477
  1004. teradataml/analytics/mle/Attribution.py +0 -1070
  1005. teradataml/analytics/mle/Betweenness.py +0 -658
  1006. teradataml/analytics/mle/Burst.py +0 -711
  1007. teradataml/analytics/mle/CCM.py +0 -600
  1008. teradataml/analytics/mle/CCMPrepare.py +0 -324
  1009. teradataml/analytics/mle/CFilter.py +0 -460
  1010. teradataml/analytics/mle/ChangePointDetection.py +0 -572
  1011. teradataml/analytics/mle/ChangePointDetectionRT.py +0 -477
  1012. teradataml/analytics/mle/Closeness.py +0 -737
  1013. teradataml/analytics/mle/ConfusionMatrix.py +0 -420
  1014. teradataml/analytics/mle/Correlation.py +0 -477
  1015. teradataml/analytics/mle/Correlation2.py +0 -573
  1016. teradataml/analytics/mle/CoxHazardRatio.py +0 -679
  1017. teradataml/analytics/mle/CoxPH.py +0 -556
  1018. teradataml/analytics/mle/CoxSurvival.py +0 -478
  1019. teradataml/analytics/mle/CumulativeMovAvg.py +0 -363
  1020. teradataml/analytics/mle/DTW.py +0 -623
  1021. teradataml/analytics/mle/DWT.py +0 -564
  1022. teradataml/analytics/mle/DWT2D.py +0 -599
  1023. teradataml/analytics/mle/DecisionForest.py +0 -716
  1024. teradataml/analytics/mle/DecisionForestEvaluator.py +0 -363
  1025. teradataml/analytics/mle/DecisionForestPredict.py +0 -561
  1026. teradataml/analytics/mle/DecisionTree.py +0 -830
  1027. teradataml/analytics/mle/DecisionTreePredict.py +0 -528
  1028. teradataml/analytics/mle/ExponentialMovAvg.py +0 -418
  1029. teradataml/analytics/mle/FMeasure.py +0 -402
  1030. teradataml/analytics/mle/FPGrowth.py +0 -734
  1031. teradataml/analytics/mle/FrequentPaths.py +0 -695
  1032. teradataml/analytics/mle/GLM.py +0 -558
  1033. teradataml/analytics/mle/GLML1L2.py +0 -547
  1034. teradataml/analytics/mle/GLML1L2Predict.py +0 -519
  1035. teradataml/analytics/mle/GLMPredict.py +0 -529
  1036. teradataml/analytics/mle/HMMDecoder.py +0 -945
  1037. teradataml/analytics/mle/HMMEvaluator.py +0 -901
  1038. teradataml/analytics/mle/HMMSupervised.py +0 -521
  1039. teradataml/analytics/mle/HMMUnsupervised.py +0 -572
  1040. teradataml/analytics/mle/Histogram.py +0 -561
  1041. teradataml/analytics/mle/IDWT.py +0 -476
  1042. teradataml/analytics/mle/IDWT2D.py +0 -493
  1043. teradataml/analytics/mle/IdentityMatch.py +0 -763
  1044. teradataml/analytics/mle/Interpolator.py +0 -918
  1045. teradataml/analytics/mle/KMeans.py +0 -485
  1046. teradataml/analytics/mle/KNN.py +0 -627
  1047. teradataml/analytics/mle/KNNRecommender.py +0 -488
  1048. teradataml/analytics/mle/KNNRecommenderPredict.py +0 -581
  1049. teradataml/analytics/mle/LAR.py +0 -439
  1050. teradataml/analytics/mle/LARPredict.py +0 -478
  1051. teradataml/analytics/mle/LDA.py +0 -548
  1052. teradataml/analytics/mle/LDAInference.py +0 -492
  1053. teradataml/analytics/mle/LDATopicSummary.py +0 -464
  1054. teradataml/analytics/mle/LevenshteinDistance.py +0 -450
  1055. teradataml/analytics/mle/LinReg.py +0 -433
  1056. teradataml/analytics/mle/LinRegPredict.py +0 -438
  1057. teradataml/analytics/mle/MinHash.py +0 -544
  1058. teradataml/analytics/mle/Modularity.py +0 -587
  1059. teradataml/analytics/mle/NEREvaluator.py +0 -410
  1060. teradataml/analytics/mle/NERExtractor.py +0 -595
  1061. teradataml/analytics/mle/NERTrainer.py +0 -458
  1062. teradataml/analytics/mle/NGrams.py +0 -570
  1063. teradataml/analytics/mle/NPath.py +0 -634
  1064. teradataml/analytics/mle/NTree.py +0 -549
  1065. teradataml/analytics/mle/NaiveBayes.py +0 -462
  1066. teradataml/analytics/mle/NaiveBayesPredict.py +0 -513
  1067. teradataml/analytics/mle/NaiveBayesTextClassifier.py +0 -607
  1068. teradataml/analytics/mle/NaiveBayesTextClassifier2.py +0 -531
  1069. teradataml/analytics/mle/NaiveBayesTextClassifierPredict.py +0 -799
  1070. teradataml/analytics/mle/NamedEntityFinder.py +0 -529
  1071. teradataml/analytics/mle/NamedEntityFinderEvaluator.py +0 -414
  1072. teradataml/analytics/mle/NamedEntityFinderTrainer.py +0 -396
  1073. teradataml/analytics/mle/POSTagger.py +0 -417
  1074. teradataml/analytics/mle/Pack.py +0 -411
  1075. teradataml/analytics/mle/PageRank.py +0 -535
  1076. teradataml/analytics/mle/PathAnalyzer.py +0 -426
  1077. teradataml/analytics/mle/PathGenerator.py +0 -367
  1078. teradataml/analytics/mle/PathStart.py +0 -464
  1079. teradataml/analytics/mle/PathSummarizer.py +0 -470
  1080. teradataml/analytics/mle/Pivot.py +0 -471
  1081. teradataml/analytics/mle/ROC.py +0 -425
  1082. teradataml/analytics/mle/RandomSample.py +0 -637
  1083. teradataml/analytics/mle/RandomWalkSample.py +0 -490
  1084. teradataml/analytics/mle/SAX.py +0 -779
  1085. teradataml/analytics/mle/SVMDense.py +0 -677
  1086. teradataml/analytics/mle/SVMDensePredict.py +0 -536
  1087. teradataml/analytics/mle/SVMDenseSummary.py +0 -437
  1088. teradataml/analytics/mle/SVMSparse.py +0 -557
  1089. teradataml/analytics/mle/SVMSparsePredict.py +0 -553
  1090. teradataml/analytics/mle/SVMSparseSummary.py +0 -435
  1091. teradataml/analytics/mle/Sampling.py +0 -549
  1092. teradataml/analytics/mle/Scale.py +0 -565
  1093. teradataml/analytics/mle/ScaleByPartition.py +0 -496
  1094. teradataml/analytics/mle/ScaleMap.py +0 -378
  1095. teradataml/analytics/mle/ScaleSummary.py +0 -320
  1096. teradataml/analytics/mle/SentenceExtractor.py +0 -363
  1097. teradataml/analytics/mle/SentimentEvaluator.py +0 -432
  1098. teradataml/analytics/mle/SentimentExtractor.py +0 -578
  1099. teradataml/analytics/mle/SentimentTrainer.py +0 -405
  1100. teradataml/analytics/mle/SeriesSplitter.py +0 -641
  1101. teradataml/analytics/mle/Sessionize.py +0 -475
  1102. teradataml/analytics/mle/SimpleMovAvg.py +0 -397
  1103. teradataml/analytics/mle/StringSimilarity.py +0 -425
  1104. teradataml/analytics/mle/TF.py +0 -389
  1105. teradataml/analytics/mle/TFIDF.py +0 -504
  1106. teradataml/analytics/mle/TextChunker.py +0 -414
  1107. teradataml/analytics/mle/TextClassifier.py +0 -399
  1108. teradataml/analytics/mle/TextClassifierEvaluator.py +0 -413
  1109. teradataml/analytics/mle/TextClassifierTrainer.py +0 -565
  1110. teradataml/analytics/mle/TextMorph.py +0 -494
  1111. teradataml/analytics/mle/TextParser.py +0 -623
  1112. teradataml/analytics/mle/TextTagger.py +0 -530
  1113. teradataml/analytics/mle/TextTokenizer.py +0 -502
  1114. teradataml/analytics/mle/UnivariateStatistics.py +0 -488
  1115. teradataml/analytics/mle/Unpack.py +0 -526
  1116. teradataml/analytics/mle/Unpivot.py +0 -438
  1117. teradataml/analytics/mle/VarMax.py +0 -776
  1118. teradataml/analytics/mle/VectorDistance.py +0 -762
  1119. teradataml/analytics/mle/WeightedMovAvg.py +0 -400
  1120. teradataml/analytics/mle/XGBoost.py +0 -842
  1121. teradataml/analytics/mle/XGBoostPredict.py +0 -627
  1122. teradataml/analytics/mle/__init__.py +0 -123
  1123. teradataml/analytics/mle/json/adaboost_mle.json +0 -135
  1124. teradataml/analytics/mle/json/adaboostpredict_mle.json +0 -85
  1125. teradataml/analytics/mle/json/antiselect_mle.json +0 -34
  1126. teradataml/analytics/mle/json/antiselect_mle_mle.json +0 -34
  1127. teradataml/analytics/mle/json/arima_mle.json +0 -172
  1128. teradataml/analytics/mle/json/arimapredict_mle.json +0 -52
  1129. teradataml/analytics/mle/json/attribution_mle_mle.json +0 -143
  1130. teradataml/analytics/mle/json/betweenness_mle.json +0 -97
  1131. teradataml/analytics/mle/json/burst_mle.json +0 -140
  1132. teradataml/analytics/mle/json/ccm_mle.json +0 -124
  1133. teradataml/analytics/mle/json/ccmprepare_mle.json +0 -14
  1134. teradataml/analytics/mle/json/cfilter_mle.json +0 -93
  1135. teradataml/analytics/mle/json/changepointdetection_mle.json +0 -92
  1136. teradataml/analytics/mle/json/changepointdetectionrt_mle.json +0 -78
  1137. teradataml/analytics/mle/json/closeness_mle.json +0 -104
  1138. teradataml/analytics/mle/json/confusionmatrix_mle.json +0 -79
  1139. teradataml/analytics/mle/json/correlation_mle.json +0 -86
  1140. teradataml/analytics/mle/json/correlationreduce_mle.json +0 -49
  1141. teradataml/analytics/mle/json/coxhazardratio_mle.json +0 -89
  1142. teradataml/analytics/mle/json/coxph_mle.json +0 -98
  1143. teradataml/analytics/mle/json/coxsurvival_mle.json +0 -79
  1144. teradataml/analytics/mle/json/cumulativemovavg_mle.json +0 -34
  1145. teradataml/analytics/mle/json/decisionforest_mle.json +0 -167
  1146. teradataml/analytics/mle/json/decisionforestevaluator_mle.json +0 -33
  1147. teradataml/analytics/mle/json/decisionforestpredict_mle_mle.json +0 -74
  1148. teradataml/analytics/mle/json/decisiontree_mle.json +0 -194
  1149. teradataml/analytics/mle/json/decisiontreepredict_mle_mle.json +0 -86
  1150. teradataml/analytics/mle/json/dtw_mle.json +0 -97
  1151. teradataml/analytics/mle/json/dwt2d_mle.json +0 -116
  1152. teradataml/analytics/mle/json/dwt_mle.json +0 -101
  1153. teradataml/analytics/mle/json/exponentialmovavg_mle.json +0 -55
  1154. teradataml/analytics/mle/json/fmeasure_mle.json +0 -58
  1155. teradataml/analytics/mle/json/fpgrowth_mle.json +0 -159
  1156. teradataml/analytics/mle/json/frequentpaths_mle.json +0 -129
  1157. teradataml/analytics/mle/json/glm_mle.json +0 -111
  1158. teradataml/analytics/mle/json/glml1l2_mle.json +0 -106
  1159. teradataml/analytics/mle/json/glml1l2predict_mle.json +0 -57
  1160. teradataml/analytics/mle/json/glmpredict_mle_mle.json +0 -74
  1161. teradataml/analytics/mle/json/histogram_mle.json +0 -100
  1162. teradataml/analytics/mle/json/hmmdecoder_mle.json +0 -192
  1163. teradataml/analytics/mle/json/hmmevaluator_mle.json +0 -206
  1164. teradataml/analytics/mle/json/hmmsupervised_mle.json +0 -91
  1165. teradataml/analytics/mle/json/hmmunsupervised_mle.json +0 -114
  1166. teradataml/analytics/mle/json/identitymatch_mle.json +0 -88
  1167. teradataml/analytics/mle/json/idwt2d_mle.json +0 -73
  1168. teradataml/analytics/mle/json/idwt_mle.json +0 -66
  1169. teradataml/analytics/mle/json/interpolator_mle.json +0 -151
  1170. teradataml/analytics/mle/json/kmeans_mle.json +0 -97
  1171. teradataml/analytics/mle/json/knn_mle.json +0 -141
  1172. teradataml/analytics/mle/json/knnrecommender_mle.json +0 -111
  1173. teradataml/analytics/mle/json/knnrecommenderpredict_mle.json +0 -75
  1174. teradataml/analytics/mle/json/lar_mle.json +0 -78
  1175. teradataml/analytics/mle/json/larpredict_mle.json +0 -69
  1176. teradataml/analytics/mle/json/lda_mle.json +0 -130
  1177. teradataml/analytics/mle/json/ldainference_mle.json +0 -78
  1178. teradataml/analytics/mle/json/ldatopicsummary_mle.json +0 -64
  1179. teradataml/analytics/mle/json/levenshteindistance_mle.json +0 -92
  1180. teradataml/analytics/mle/json/linreg_mle.json +0 -42
  1181. teradataml/analytics/mle/json/linregpredict_mle.json +0 -56
  1182. teradataml/analytics/mle/json/minhash_mle.json +0 -113
  1183. teradataml/analytics/mle/json/modularity_mle.json +0 -91
  1184. teradataml/analytics/mle/json/naivebayespredict_mle_mle.json +0 -85
  1185. teradataml/analytics/mle/json/naivebayesreduce_mle.json +0 -52
  1186. teradataml/analytics/mle/json/naivebayestextclassifierpredict_mle_mle.json +0 -147
  1187. teradataml/analytics/mle/json/naivebayestextclassifiertrainer2_mle.json +0 -108
  1188. teradataml/analytics/mle/json/naivebayestextclassifiertrainer_mle.json +0 -102
  1189. teradataml/analytics/mle/json/namedentityfinder_mle.json +0 -84
  1190. teradataml/analytics/mle/json/namedentityfinderevaluatorreduce_mle.json +0 -43
  1191. teradataml/analytics/mle/json/namedentityfindertrainer_mle.json +0 -64
  1192. teradataml/analytics/mle/json/nerevaluator_mle.json +0 -54
  1193. teradataml/analytics/mle/json/nerextractor_mle.json +0 -87
  1194. teradataml/analytics/mle/json/nertrainer_mle.json +0 -89
  1195. teradataml/analytics/mle/json/ngrams_mle.json +0 -137
  1196. teradataml/analytics/mle/json/ngramsplitter_mle_mle.json +0 -137
  1197. teradataml/analytics/mle/json/npath@coprocessor_mle.json +0 -73
  1198. teradataml/analytics/mle/json/ntree@coprocessor_mle.json +0 -123
  1199. teradataml/analytics/mle/json/pack_mle.json +0 -58
  1200. teradataml/analytics/mle/json/pack_mle_mle.json +0 -58
  1201. teradataml/analytics/mle/json/pagerank_mle.json +0 -81
  1202. teradataml/analytics/mle/json/pathanalyzer_mle.json +0 -63
  1203. teradataml/analytics/mle/json/pathgenerator_mle.json +0 -40
  1204. teradataml/analytics/mle/json/pathstart_mle.json +0 -62
  1205. teradataml/analytics/mle/json/pathsummarizer_mle.json +0 -72
  1206. teradataml/analytics/mle/json/pivoting_mle.json +0 -71
  1207. teradataml/analytics/mle/json/postagger_mle.json +0 -51
  1208. teradataml/analytics/mle/json/randomsample_mle.json +0 -131
  1209. teradataml/analytics/mle/json/randomwalksample_mle.json +0 -85
  1210. teradataml/analytics/mle/json/roc_mle.json +0 -73
  1211. teradataml/analytics/mle/json/sampling_mle.json +0 -75
  1212. teradataml/analytics/mle/json/sax_mle.json +0 -154
  1213. teradataml/analytics/mle/json/scale_mle.json +0 -93
  1214. teradataml/analytics/mle/json/scalebypartition_mle.json +0 -89
  1215. teradataml/analytics/mle/json/scalemap_mle.json +0 -44
  1216. teradataml/analytics/mle/json/scalesummary_mle.json +0 -14
  1217. teradataml/analytics/mle/json/sentenceextractor_mle.json +0 -41
  1218. teradataml/analytics/mle/json/sentimentevaluator_mle.json +0 -43
  1219. teradataml/analytics/mle/json/sentimentextractor_mle.json +0 -100
  1220. teradataml/analytics/mle/json/sentimenttrainer_mle.json +0 -68
  1221. teradataml/analytics/mle/json/seriessplitter_mle.json +0 -133
  1222. teradataml/analytics/mle/json/sessionize_mle_mle.json +0 -62
  1223. teradataml/analytics/mle/json/simplemovavg_mle.json +0 -48
  1224. teradataml/analytics/mle/json/stringsimilarity_mle.json +0 -50
  1225. teradataml/analytics/mle/json/stringsimilarity_mle_mle.json +0 -50
  1226. teradataml/analytics/mle/json/svmdense_mle.json +0 -165
  1227. teradataml/analytics/mle/json/svmdensepredict_mle.json +0 -95
  1228. teradataml/analytics/mle/json/svmdensesummary_mle.json +0 -58
  1229. teradataml/analytics/mle/json/svmsparse_mle.json +0 -148
  1230. teradataml/analytics/mle/json/svmsparsepredict_mle_mle.json +0 -103
  1231. teradataml/analytics/mle/json/svmsparsesummary_mle.json +0 -57
  1232. teradataml/analytics/mle/json/textchunker_mle.json +0 -40
  1233. teradataml/analytics/mle/json/textclassifier_mle.json +0 -51
  1234. teradataml/analytics/mle/json/textclassifierevaluator_mle.json +0 -43
  1235. teradataml/analytics/mle/json/textclassifiertrainer_mle.json +0 -103
  1236. teradataml/analytics/mle/json/textmorph_mle.json +0 -63
  1237. teradataml/analytics/mle/json/textparser_mle.json +0 -166
  1238. teradataml/analytics/mle/json/texttagger_mle.json +0 -81
  1239. teradataml/analytics/mle/json/texttokenizer_mle.json +0 -91
  1240. teradataml/analytics/mle/json/tf_mle.json +0 -33
  1241. teradataml/analytics/mle/json/tfidf_mle.json +0 -34
  1242. teradataml/analytics/mle/json/univariatestatistics_mle.json +0 -81
  1243. teradataml/analytics/mle/json/unpack_mle.json +0 -91
  1244. teradataml/analytics/mle/json/unpack_mle_mle.json +0 -91
  1245. teradataml/analytics/mle/json/unpivoting_mle.json +0 -63
  1246. teradataml/analytics/mle/json/varmax_mle.json +0 -176
  1247. teradataml/analytics/mle/json/vectordistance_mle.json +0 -179
  1248. teradataml/analytics/mle/json/weightedmovavg_mle.json +0 -48
  1249. teradataml/analytics/mle/json/xgboost_mle.json +0 -178
  1250. teradataml/analytics/mle/json/xgboostpredict_mle.json +0 -104
  1251. teradataml/analytics/sqle/Antiselect.py +0 -321
  1252. teradataml/analytics/sqle/Attribution.py +0 -603
  1253. teradataml/analytics/sqle/DecisionForestPredict.py +0 -408
  1254. teradataml/analytics/sqle/GLMPredict.py +0 -430
  1255. teradataml/analytics/sqle/MovingAverage.py +0 -543
  1256. teradataml/analytics/sqle/NGramSplitter.py +0 -548
  1257. teradataml/analytics/sqle/NPath.py +0 -632
  1258. teradataml/analytics/sqle/NaiveBayesTextClassifierPredict.py +0 -515
  1259. teradataml/analytics/sqle/Pack.py +0 -388
  1260. teradataml/analytics/sqle/SVMSparsePredict.py +0 -464
  1261. teradataml/analytics/sqle/Sessionize.py +0 -390
  1262. teradataml/analytics/sqle/StringSimilarity.py +0 -400
  1263. teradataml/analytics/sqle/Unpack.py +0 -503
  1264. teradataml/analytics/sqle/json/antiselect_sqle.json +0 -21
  1265. teradataml/analytics/sqle/json/attribution_sqle.json +0 -92
  1266. teradataml/analytics/sqle/json/decisionforestpredict_sqle.json +0 -48
  1267. teradataml/analytics/sqle/json/glmpredict_sqle.json +0 -48
  1268. teradataml/analytics/sqle/json/h2opredict_sqle.json +0 -63
  1269. teradataml/analytics/sqle/json/movingaverage_sqle.json +0 -58
  1270. teradataml/analytics/sqle/json/naivebayestextclassifierpredict_sqle.json +0 -76
  1271. teradataml/analytics/sqle/json/ngramsplitter_sqle.json +0 -126
  1272. teradataml/analytics/sqle/json/npath_sqle.json +0 -67
  1273. teradataml/analytics/sqle/json/pack_sqle.json +0 -47
  1274. teradataml/analytics/sqle/json/pmmlpredict_sqle.json +0 -55
  1275. teradataml/analytics/sqle/json/sessionize_sqle.json +0 -43
  1276. teradataml/analytics/sqle/json/stringsimilarity_sqle.json +0 -39
  1277. teradataml/analytics/sqle/json/svmsparsepredict_sqle.json +0 -74
  1278. teradataml/analytics/sqle/json/unpack_sqle.json +0 -80
  1279. teradataml/catalog/model_cataloging.py +0 -980
  1280. teradataml/config/mlengine_alias_definitions_v1.0 +0 -118
  1281. teradataml/config/mlengine_alias_definitions_v1.1 +0 -127
  1282. teradataml/config/mlengine_alias_definitions_v1.3 +0 -129
  1283. teradataml/table_operators/sandbox_container_util.py +0 -643
  1284. teradataml-17.20.0.7.dist-info/RECORD +0 -1280
  1285. {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.0.dist-info}/top_level.txt +0 -0
@@ -1,693 +1,694 @@
1
- """
2
- Unpublished work.
3
- Copyright (c) 2021 by Teradata Corporation. All rights reserved.
4
- TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET
5
-
6
- Primary Owner: pradeep.garre@teradata.com
7
- Secondary Owner: PankajVinod.Purandare@teradata.com
8
-
9
- This file implements the core framework that allows user to execute any Vantage Window Functions.
10
- """
11
-
12
- from teradataml.utils.validators import _Validators
13
- from teradataml.common.messages import Messages
14
- from teradataml.common.messagecodes import MessageCodes
15
- from sqlalchemy import desc, nullsfirst, nullslast
16
- from teradataml.common.exceptions import TeradataMlException
17
- from teradataml.utils.dtypes import _Dtypes
18
-
19
-
20
- class Window:
21
- """ A class for executing window functions. """
22
- def __init__(self,
23
- object,
24
- partition_columns=None,
25
- order_columns=None,
26
- sort_ascending=True,
27
- nulls_first=None,
28
- window_start_point=None,
29
- window_end_point=None,
30
- ignore_window=False):
31
- """
32
- DESCRIPTION:
33
- Constructor for Window class.
34
-
35
- PARAMETERS:
36
- object:
37
- Required Argument.
38
- Specifies where the window object is initiated from.
39
- Window object can be initiated from either teradataml DataFrame
40
- or a column in a teradataml DataFrame.
41
- Types: teradataml DataFrame, _SQLColumnExpression
42
-
43
- partition_columns:
44
- Optional Argument.
45
- Specifies the name(s) of the column(s) over which the ordered
46
- aggregate function executes by partitioning the rows.
47
- Such a grouping is static.
48
- Notes:
49
- 1. If this argument is not specified, then the entire data
50
- from teradataml DataFrame, constitutes a single
51
- partition, over which the ordered aggregate function
52
- executes.
53
- 2. "partition_columns" does not support CLOB and BLOB type
54
- of columns.
55
- Refer 'DataFrame.tdtypes' to get the types of the
56
- columns of a teradataml DataFrame.
57
- Types: str OR list of Strings (str)
58
-
59
- order_columns:
60
- Optional Argument.
61
- Specifies the name(s) of the column(s) to order the rows in a
62
- partition, which determines the sort order of the rows over
63
- which the function is applied.
64
- Note:
65
- "order_columns" does not support CLOB and BLOB type
66
- of columns.
67
- Refer 'DataFrame.tdtypes' to get the types of the
68
- columns of a teradataml DataFrame.
69
- Types: str OR list of Strings (str)
70
-
71
- sort_ascending:
72
- Optional Argument.
73
- Specifies whether column ordering should be in ascending or
74
- descending order.
75
- Default Value: True (ascending)
76
- Note:
77
- When "order_columns" argument is not specified, argument
78
- is ignored.
79
- Types: bool
80
-
81
- nulls_first:
82
- Optional Argument.
83
- Specifies whether null results are to be listed first or last
84
- or scattered.
85
- Default Value: None
86
- Note:
87
- When "order_columns" argument is not specified, argument is
88
- ignored.
89
- Types: bool
90
-
91
- window_start_point:
92
- Optional Argument.
93
- Specifies a starting point for a window. Based on the integer
94
- value, n, starting point of the window is decided.
95
- * If 'n' is negative, window start point is n rows
96
- preceding the current row/data point.
97
- * If 'n' is positive, window start point is n rows
98
- following the current row/data point.
99
- * If 'n' is 0, window start at current row itself.
100
- * If 'n' is None, window start as Unbounded preceding,
101
- i.e., all rows before current row/data point are
102
- considered.
103
- Notes:
104
- 1. Value passed to this should always satisfy following condition:
105
- window_start_point <= window_end_point
106
- 2. Following functions does not require any window to
107
- perform window aggregation. So, "window_start_point" is
108
- insignificant for below functions:
109
- * cume_dist
110
- * rank
111
- * dense_rank
112
- * percent_rank
113
- * row_number
114
- * lead
115
- * lag
116
- Default Value: None
117
- Types: int
118
-
119
- window_end_point:
120
- Optional Argument.
121
- Specifies an end point for a window. Based on the integer value,
122
- n, starting point of the window is decided.
123
- * If 'n' is negative, window end point is n rows preceding
124
- the current row/data point.
125
- * If 'n' is positive, window end point is n rows following
126
- the current row/data point.
127
- * If 'n' is 0, window end's at current row itself.
128
- * If 'n' is None, window end's at Unbounded following,
129
- i.e., all rows before current row/data point are
130
- considered.
131
- Notes:
132
- 1. Value passed to this should always satisfy following condition:
133
- window_start_point <= window_end_point
134
- 2. Following functions does not require any window to
135
- perform window aggregation. So, "window_end_point" is
136
- insignificant for below functions:
137
- * cume_dist
138
- * rank
139
- * dense_rank
140
- * percent_rank
141
- * row_number
142
- * lead
143
- * lag
144
- Default Value: None
145
- Types: int
146
-
147
- ignore_window:
148
- Optional Argument.
149
- Specifies a flag to ignore parameters related to creating
150
- window ("window_start_point", "window_end_point") and use other
151
- arguments, if specified.
152
- When set to True, window is ignored, i.e., ROWS clause is not
153
- included.
154
- When set to False, window will be created, which is specified
155
- by "window_start_point" and "window_end_point" parameters.
156
- Default Value: False
157
- Types: bool
158
-
159
- RAISES:
160
- TypeError OR ValueError
161
-
162
- EXAMPLES:
163
- # Create a Window from a teradataml DataFrame.
164
- from teradataml import *
165
- load_example_data("dataframe","sales")
166
- df = DataFrame.from_table('sales')
167
- window = Window(object = df)
168
-
169
- # Create a window from a teradataml DataFrame column.
170
- window = Window(object = df.Feb)
171
- """
172
- self.__object = object
173
- self.__partition_columns = partition_columns
174
- self.__order_columns = order_columns
175
- self.__sort_ascending = sort_ascending
176
- self.__nulls_first = nulls_first
177
- self.__window_start_point = window_start_point
178
- self.__window_end_point = window_end_point
179
- self.__ignore_window = ignore_window
180
-
181
- from teradataml.dataframe.dataframe import DataFrame, DataFrameGroupBy
182
- from teradataml.dataframe.sql import _SQLColumnExpression
183
-
184
- awu_matrix = []
185
- awu_matrix.append(["object", object, False, (DataFrame, _SQLColumnExpression)])
186
- awu_matrix.append(["partition_columns", partition_columns, True, (str, list), True])
187
- awu_matrix.append(["order_columns", order_columns, True, (str, list), True])
188
- awu_matrix.append(["sort_ascending", sort_ascending, True, bool])
189
- awu_matrix.append(["nulls_first", nulls_first, True, (bool, type(None))])
190
- awu_matrix.append(["window_start_point", window_start_point, True, int])
191
- awu_matrix.append(["window_end_point", window_end_point, True, int])
192
- awu_matrix.append(["ignore_window", ignore_window, True, bool])
193
-
194
- # Validate argument types
195
- _Validators._validate_function_arguments(awu_matrix)
196
-
197
- # Check "window_end_point" is always greater than or equal to "window_start_point".
198
- if window_start_point is not None and window_end_point is not None and\
199
- window_start_point > window_end_point:
200
- raise ValueError(Messages.get_message(MessageCodes.INT_ARGUMENT_COMPARISON,
201
- "window_end_point",
202
- "greater than or equal",
203
- "window_start_point"))
204
-
205
- self.__is_window_on_tdml_column = isinstance(self.__object, _SQLColumnExpression)
206
-
207
- # Variable to check if the Window object is initiated on DataFrameGroupBy.
208
- self.__is_window_on_tdml_groupby_dataframe = isinstance(
209
- self.__object, DataFrameGroupBy)
210
-
211
- # A variable to decide whether the output columns should contain
212
- # unsupported sort columns or not.
213
- self.__sort_check_required = self.__partition_columns is None and self.__order_columns is None
214
-
215
- # Check whether columns mentioned in "partition_columns" are existed in
216
- # teradataml DataFrame and supports sorting.
217
- if partition_columns:
218
- self.__validate_window_columns(partition_columns, "partition_columns")
219
-
220
- # Check whether columns mentioned in "order_columns" are existed in
221
- # teradataml DataFrame and supports sorting.
222
- if order_columns:
223
- self.__validate_window_columns(order_columns, "order_columns")
224
-
225
- # Raise Error, if the Column is of type CLOB or BLOB, and window has no
226
- # "partition_columns" and no "order_columns".
227
- if self.__is_window_on_tdml_column and self.__sort_check_required and \
228
- type(self.__object.type) in _Dtypes._get_sort_unsupported_data_types():
229
- raise TeradataMlException(Messages.get_message(MessageCodes.EXECUTION_FAILED,
230
- "create Window", "Window with"
231
- " no 'partition_columns' and no 'order_columns' "
232
- "on {} type of Column({}) is unsupported."
233
- "".format(self.__object.type, self.__object.name)),
234
- MessageCodes.EXECUTION_FAILED)
235
-
236
- self.__aggregate_functions = ['sum',
237
- 'avg',
238
- 'mean',
239
- 'corr',
240
- 'count',
241
- 'covar_pop',
242
- 'covar_samp',
243
- 'cume_dist',
244
- 'dense_rank',
245
- 'first_value',
246
- 'last_value',
247
- 'lag',
248
- 'lead',
249
- 'max',
250
- 'min',
251
- 'percent_rank',
252
- 'rank',
253
- 'regr_avgx',
254
- 'regr_avgy',
255
- 'regr_count',
256
- 'regr_intercept',
257
- 'regr_r2',
258
- 'regr_slope',
259
- 'regr_sxx',
260
- 'regr_sxy',
261
- 'regr_syy',
262
- 'row_number',
263
- 'std',
264
- 'var'
265
- ]
266
-
267
- # Some Window Aggregate functions do not accept ROWS clause.
268
- # Maintaining all such functions here so while constructing the ROWS
269
- # clause, below variable can be checked and take appropriate action.
270
- self.__no_rows_clause_functions = {"cume_dist",
271
- "rank",
272
- "dense_rank",
273
- "percent_rank",
274
- "row_number",
275
- "lead",
276
- "lag"}
277
-
278
- # Some Window Aggregate functions do not accept Column as a parameter
279
- # for the function. So, while running window aggregate functions on
280
- # DataFrame, it is not required to trigger these functions on all the
281
- # columns in the DataFrame as result is same for all the columns.
282
- self.__no_column_arg_functions = {"cume_dist",
283
- "rank",
284
- "dense_rank",
285
- "percent_rank",
286
- "row_number"}
287
-
288
- def __repr__(self):
289
- """
290
- DESCRIPTION:
291
- String representation of Window Object.
292
-
293
- RETURNS:
294
- str.
295
-
296
- RAISES:
297
- None.
298
-
299
- EXAMPLES:
300
- # Create a Window from a teradataml DataFrame.
301
- from teradataml import *
302
- load_example_data("dataframe","sales")
303
- df = DataFrame.from_table('sales')
304
- window = Window(object = df)
305
- print(window)
306
-
307
- """
308
- return "{} [partition_columns={}, order_columns={}, sort_ascending={}, nulls_first={}, " \
309
- "window_start_point={}, window_end_point={}, ignore_window={}]".format(self.__class__.__name__,
310
- self.__partition_columns,
311
- self.__order_columns,
312
- self.__sort_ascending,
313
- self.__nulls_first,
314
- self.__window_start_point,
315
- self.__window_end_point,
316
- self.__ignore_window)
317
-
318
- def __getattr__(self, item):
319
- """
320
- DESCRIPTION:
321
- Magic Method to call the corresponding window function.
322
- Window class do not implement the exact methods but whenever any attribute
323
- is referred by Window Object, this function gets triggered.
324
- Based on the input method, corresponding expression is processed.
325
-
326
- PARAMETERS:
327
- item:
328
- Required Argument.
329
- Name of the window function.
330
- Types: str
331
-
332
- RETURNS:
333
- A function, which actually process the corresponding SQL window function.
334
-
335
- EXAMPLES:
336
- # Create a window from a teradataml DataFrame.
337
- from teradataml import *
338
- load_example_data("dataframe","sales")
339
- df = DataFrame.from_table('sales')
340
- window = Window(object = df)
341
- window.mean()
342
- """
343
- if item not in self.__aggregate_functions:
344
- raise AttributeError("'{}' object has no attribute '{}'".format(self.__class__.__name__,
345
- item))
346
- return lambda *args, **kwargs: \
347
- self.__process_window_aggregates(item, *args, **kwargs)
348
-
349
- def __process_window_aggregates(self, func_name, *args, **kwargs):
350
- """
351
- Description:
352
- Function to process the window expression. All window functions are actually
353
- processed in this function and generates a DataFrame or _SQLColumnExpression
354
- according to the Window class.
355
-
356
- PARAMETERS:
357
- func_name:
358
- Required Argument.
359
- Specifies the name of the window function.
360
- Types: str
361
-
362
- args:
363
- Optional Argument.
364
- Specifies the positional arguments to be passed to the window function.
365
- Types: Tuple
366
-
367
- kwargs:
368
- Optional Argument.
369
- Specifies the keyword arguments to be passed to the window function.
370
- Types: Dictionary
371
-
372
- RETURNS:
373
- Either a new teradataml DataFrame or an _SQLColumnExpression, according to Window class.
374
-
375
- EXAMPLES:
376
- # Create a Window from a teradataml DataFrame.
377
- from teradataml import *
378
- load_example_data("dataframe","sales")
379
- df = DataFrame.from_table('sales')
380
- window = Window(object = df)
381
- window.__process_window_aggregates("mean")
382
- """
383
-
384
- # sqlalchemy Over clause accepts 3 parameters to frame the SQL query:
385
- # partition_by, order_by & rows.
386
- window_properties = {"window_function": func_name,
387
- "partition_by": self.__partition_columns,
388
- "order_by": self.__generate_sqlalchemy_order_by_syntax(),
389
- "rows": (self.__window_start_point,
390
- self.__window_end_point
391
- ),
392
- "is_window_aggregate": True
393
- }
394
-
395
- # If "window_properties" do not have key "rows", then _SQLColumnExpression
396
- # do not construct ROWS clause. So, removing "rows" either if window to be
397
- # ignored or if function does not require ROWS clause.
398
- if self.__ignore_window or (func_name in self.__no_rows_clause_functions):
399
- window_properties.pop("rows")
400
-
401
- if self.__is_window_on_tdml_column:
402
- aggregate_function = getattr(self.__object, func_name)
403
- kwargs.update({"window_properties": window_properties})
404
- return aggregate_function(*args, **kwargs)
405
- else:
406
- return self.__process_dataframe_window_aggregate(func_name, *args, **kwargs)
407
-
408
- def __validate_window_columns(self, columns_in_window, window_arg_name):
409
- """
410
- DESCRIPTION:
411
- Validates, whether the columns mentioned in Window class is
412
- available in teradataml DataFrame or not. And if available, it
413
- then checks for types, which do not support sorting, in
414
- "partition_columns" and "order_columns".
415
-
416
- PARAMETERS:
417
- columns_in_window:
418
- Required Argument.
419
- Specifies the column names mentioned in either
420
- "partition_columns" or "order_columns".
421
- Types: str OR list of Strings (str)
422
-
423
- window_arg_name:
424
- Required Argument.
425
- Specifies the name of the argument which is being validated.
426
- Types: str
427
-
428
- RAISES:
429
- ValueError
430
-
431
- RETURNS:
432
- None
433
-
434
- EXAMPLES:
435
- # Create a Window from a teradataml DataFrame.
436
- from teradataml import *
437
- load_example_data("dataframe","sales")
438
- df = DataFrame.from_table('sales')
439
- window = Window(object = df)
440
- window.__validate_window_columns("Feb", "partition_columns")
441
- window.__validate_window_columns("Feb", "order_columns")
442
- """
443
-
444
- if self.__is_window_on_tdml_column:
445
- _Validators._validate_columnexpression_dataframe_has_columns(columns_in_window,
446
- window_arg_name,
447
- self.__object
448
- )
449
- else:
450
- _Validators._validate_dataframe_has_argument_columns(columns_in_window,
451
- window_arg_name,
452
- self.__object,
453
- 'teradataml'
454
- )
455
-
456
- from teradataml.common.utils import UtilFuncs
457
- window_columns = UtilFuncs._as_list(columns_in_window)
458
- columns = UtilFuncs._get_all_columns(self.__object,
459
- self.__is_window_on_tdml_column)
460
- columns_and_types = {c.name.lower(): type(c.type) for c in columns}
461
- invalid_types = ["{}({})".format(column, columns_and_types[column.lower()].__name__)
462
- for column in window_columns if columns_and_types[column.lower()]
463
- in _Dtypes._get_sort_unsupported_data_types()
464
- ]
465
-
466
- if invalid_types:
467
- invalid_column_types = (col_type.__name__ for col_type in
468
- _Dtypes._get_sort_unsupported_data_types())
469
- error_message = Messages.get_message(MessageCodes.INVALID_COLUMN_DATATYPE,
470
- ", ".join(invalid_types),
471
- window_arg_name,
472
- "Unsupported",
473
- ", ".join(invalid_column_types))
474
-
475
- raise ValueError(error_message)
476
-
477
- def __process_dataframe_window_aggregate(self, func_name, *args, **kwargs):
478
- """
479
- Description:
480
- Function processes window aggregate function on a teradataml
481
- DataFrame, by following below steps:
482
- * Same window aggregate function is executed on each supported
483
- column of the teradataml DataFrame.
484
- * Each generated window aggregate _SQLColumnExpression is
485
- passed as input to DataFrame.assign() function.
486
-
487
- PARAMETERS:
488
- func_name:
489
- Required Argument.
490
- Specifies the name of the window function.
491
- Types: str
492
-
493
- args:
494
- Optional Argument.
495
- Specifies the positional arguments to be passed to the window function.
496
- Types: Tuple
497
-
498
- kwargs:
499
- Optional Argument.
500
- Specifies the keyword arguments to be passed to the window function.
501
- Types: Dictionary
502
-
503
- RETURNS:
504
- teradataml DataFrame.
505
-
506
- EXAMPLES:
507
- # Create a Window from a teradataml DataFrame.
508
- from teradataml import *
509
- load_example_data("dataframe","sales")
510
- df = DataFrame.from_table('sales')
511
- window = df.window()
512
- window.__process_dataframe_window_aggregate("mean")
513
- """
514
-
515
- new_columns = self.__get_columns_and_expressions(func_name,
516
- *args,
517
- **kwargs)
518
-
519
- # If __sort_check_required is True, then "new_columns" contains
520
- # the valid original columns.
521
- if self.__sort_check_required:
522
- return self.__object.assign(drop_columns=True, **new_columns)
523
- return self.__object.assign(**new_columns)
524
-
525
- def __get_columns_and_expressions(self, func_name, *args, **kwargs):
526
- """
527
- Description:
528
- Function to get the column name and corresponding _SQLColumnExpression,
529
- for a given window aggregate function. This function validates
530
- whether window aggregate function is valid for a column or not, and
531
- only if it is valid, then it returns the column name and
532
- _SQLColumnExpression.
533
-
534
- PARAMETERS:
535
- func_name:
536
- Required Argument.
537
- Specifies the name of the window function.
538
- Types: str
539
-
540
- args:
541
- Optional Argument.
542
- Specifies the positional arguments to be passed to the window function.
543
- Types: Tuple
544
-
545
- kwargs:
546
- Optional Argument.
547
- Specifies the keyword arguments to be passed to the window function.
548
- Types: Dictionary
549
-
550
- RETURNS:
551
- dict
552
-
553
- EXAMPLES:
554
- # Create a Window from a teradataml DataFrame.
555
- from teradataml import *
556
- load_example_data("dataframe","sales")
557
- df = DataFrame.from_table('sales')
558
- window = df.window()
559
- window.__get_columns_and_expressions("mean")
560
- """
561
-
562
- # Dict to hold the columns to be projected, when partition and order
563
- # columns are None.
564
- original_columns = {}
565
-
566
- # Dict to hold the new window agg columns to be projected.
567
- new_columns = {}
568
-
569
- # If window is initiated on DataFrame, then every column should
570
- # be checked if it can participate in window aggregation. However,
571
- # if window is on DataFrameGroupBy object, then only grouping columns
572
- # should participate in window aggregation.
573
- columns = self.__object._metaexpr.c
574
- if self.__is_window_on_tdml_groupby_dataframe:
575
- columns = self.__object._get_groupby_columns_expression()
576
-
577
- column_names = []
578
- for column in columns:
579
- column_names.append(column.name)
580
- # By Default, window aggregates sort on "order_columns" and
581
- # "partition_columns". If both are not specified, window aggregates
582
- # sorts on all columns in DataFrame. Thus, remove columns of types
583
- # that does not support sorting.
584
- if self.__sort_check_required and type(column.type) in \
585
- _Dtypes._get_sort_unsupported_data_types():
586
- continue
587
- else:
588
- try:
589
- # Grouping columns are not dropping even though "drop_columns"
590
- # set to True in DataFrame.assign(). So, skipping the column addition
591
- # in such cases as adding the column results in duplicate columns
592
- # in DataFrame.
593
- if self.__sort_check_required and not self.__is_window_on_tdml_groupby_dataframe:
594
- original_columns[column.name] = column
595
- window = column.window(partition_columns=self.__partition_columns,
596
- order_columns=self.__order_columns,
597
- sort_ascending=self.__sort_ascending,
598
- nulls_first=self.__nulls_first,
599
- window_start_point=self.__window_start_point,
600
- window_end_point=self.__window_end_point,
601
- ignore_window=self.__ignore_window)
602
-
603
- # For the functions which does not accept column as a parameter,
604
- # do not trigger aggregate function on all columns. Triggering
605
- # on one column is enough.
606
- if func_name in self.__no_column_arg_functions:
607
- if not new_columns:
608
- sql_column_expression = getattr(window, func_name)(*args, **kwargs)
609
- new_columns["{}_{}".format("col", func_name)] = sql_column_expression
610
- else:
611
- sql_column_expression = getattr(window, func_name)(*args, **kwargs)
612
- new_columns["{}_{}".format(column.name, func_name)] = sql_column_expression
613
- except RuntimeError:
614
- # RuntimeError being raised, if, a window aggregate function is
615
- # applied on an un-supported column.
616
- pass
617
-
618
- # Raise the error. Window aggregate does not support the columns in the
619
- # DataFrame.
620
- if not new_columns:
621
- raise TeradataMlException(Messages.get_message(MessageCodes.TDMLDF_AGGREGATE_UNSUPPORTED,
622
- ",".join(column_names),
623
- func_name),
624
- MessageCodes.TDMLDF_AGGREGATE_UNSUPPORTED)
625
- new_columns.update(original_columns)
626
- return new_columns
627
-
628
- def __generate_sqlalchemy_order_by_syntax(self):
629
- """
630
- Description:
631
- Function to get the order_by clause, which can be sourced to
632
- sqlalchemy Over clause. sqlalchemy Over clause which accepts only
633
- order_by, and thus, the information about nulls_first &
634
- sort_ascending needs to be embedded with order_by clause.
635
-
636
- RETURNS:
637
- An Object of type sqlalchemy element.
638
-
639
- EXAMPLES:
640
- # Create a Window from a teradataml DataFrame.
641
- from teradataml import *
642
- load_example_data("dataframe","sales")
643
- df = DataFrame.from_table('sales')
644
- window = df.window()
645
- window.__generate_sqlalchemy_order_by_syntax()
646
- """
647
-
648
- # Check if order_columns is None. If it is None, No need to consider
649
- # sort_ascending & nulls_first.
650
- if self.__order_columns is None:
651
- return
652
-
653
- from teradataml.common.utils import UtilFuncs
654
- order_by = UtilFuncs._as_list(self.__order_columns)
655
- wrap_order_by = lambda sqlalc_func: [sqlalc_func(ele) for
656
- ele in order_by]
657
-
658
- if not self.__sort_ascending:
659
- order_by = wrap_order_by(desc)
660
-
661
- if self.__nulls_first is None:
662
- return order_by
663
-
664
- if self.__nulls_first is True:
665
- order_by = wrap_order_by(nullsfirst)
666
- else:
667
- order_by = wrap_order_by(nullslast)
668
-
669
- return order_by
670
-
671
- def __dir__(self):
672
- """
673
- DESCRIPTION:
674
- Function returns the attributes and/or names of the methods of the
675
- Window object.
676
-
677
- RETURNS:
678
- list of Strings (str).
679
-
680
- EXAMPLES:
681
- # Create a window from a teradataml DataFrame.
682
- from teradataml import *
683
- load_example_data("dataframe","sales")
684
- df = DataFrame.from_table('sales')
685
- window = Window(object = df)
686
- dir(window)
687
- """
688
-
689
- # Since Window class do not implement the exact methods, lookup for
690
- # the available methods, do not return the Aggregate functions.
691
- # So Overwriting this with teradata supporting Aggregate functions.
692
- return [attr for attr in super(self.__class__, self).__dir__()] + \
1
+ """
2
+ Unpublished work.
3
+ Copyright (c) 2021 by Teradata Corporation. All rights reserved.
4
+ TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET
5
+
6
+ Primary Owner: pradeep.garre@teradata.com
7
+ Secondary Owner: PankajVinod.Purandare@teradata.com
8
+
9
+ This file implements the core framework that allows user to execute any Vantage Window Functions.
10
+ """
11
+
12
+ from teradataml.utils.validators import _Validators
13
+ from teradataml.common.messages import Messages
14
+ from teradataml.common.messagecodes import MessageCodes
15
+ from sqlalchemy import desc, nullsfirst, nullslast
16
+ from teradataml.common.exceptions import TeradataMlException
17
+ from teradataml.common.utils import UtilFuncs
18
+ from teradataml.utils.dtypes import _Dtypes
19
+ from teradatasqlalchemy.telemetry.queryband import collect_queryband
20
+
21
+
22
+ class Window:
23
+ """ A class for executing window functions. """
24
+ def __init__(self,
25
+ object,
26
+ partition_columns=None,
27
+ order_columns=None,
28
+ sort_ascending=True,
29
+ nulls_first=None,
30
+ window_start_point=None,
31
+ window_end_point=None,
32
+ ignore_window=False):
33
+ """
34
+ DESCRIPTION:
35
+ Constructor for Window class.
36
+
37
+ PARAMETERS:
38
+ object:
39
+ Required Argument.
40
+ Specifies where the window object is initiated from.
41
+ Window object can be initiated from either teradataml DataFrame
42
+ or a column in a teradataml DataFrame.
43
+ Types: teradataml DataFrame, _SQLColumnExpression
44
+
45
+ partition_columns:
46
+ Optional Argument.
47
+ Specifies the name(s) of the column(s) over which the ordered
48
+ aggregate function executes by partitioning the rows.
49
+ Such a grouping is static.
50
+ Notes:
51
+ 1. If this argument is not specified, then the entire data
52
+ from teradataml DataFrame, constitutes a single
53
+ partition, over which the ordered aggregate function
54
+ executes.
55
+ 2. "partition_columns" does not support CLOB and BLOB type
56
+ of columns.
57
+ Refer 'DataFrame.tdtypes' to get the types of the
58
+ columns of a teradataml DataFrame.
59
+ Types: str OR list of Strings (str) OR ColumnExpression OR list of ColumnExpressions
60
+
61
+ order_columns:
62
+ Optional Argument.
63
+ Specifies the name(s) of the column(s) to order the rows in a
64
+ partition, which determines the sort order of the rows over
65
+ which the function is applied.
66
+ Note:
67
+ "order_columns" does not support CLOB and BLOB type
68
+ of columns.
69
+ Refer 'DataFrame.tdtypes' to get the types of the
70
+ columns of a teradataml DataFrame.
71
+ Types: str OR list of Strings (str) OR ColumnExpression OR list of ColumnExpressions
72
+
73
+ sort_ascending:
74
+ Optional Argument.
75
+ Specifies whether column ordering should be in ascending or
76
+ descending order.
77
+ Default Value: True (ascending)
78
+ Note:
79
+ When "order_columns" argument is not specified, argument
80
+ is ignored.
81
+ Types: bool
82
+
83
+ nulls_first:
84
+ Optional Argument.
85
+ Specifies whether null results are to be listed first or last
86
+ or scattered.
87
+ Default Value: None
88
+ Note:
89
+ When "order_columns" argument is not specified, argument is
90
+ ignored.
91
+ Types: bool
92
+
93
+ window_start_point:
94
+ Optional Argument.
95
+ Specifies a starting point for a window. Based on the integer
96
+ value, n, starting point of the window is decided.
97
+ * If 'n' is negative, window start point is n rows
98
+ preceding the current row/data point.
99
+ * If 'n' is positive, window start point is n rows
100
+ following the current row/data point.
101
+ * If 'n' is 0, window start at current row itself.
102
+ * If 'n' is None, window start as Unbounded preceding,
103
+ i.e., all rows before current row/data point are
104
+ considered.
105
+ Notes:
106
+ 1. Value passed to this should always satisfy following condition:
107
+ window_start_point <= window_end_point
108
+ 2. Following functions does not require any window to
109
+ perform window aggregation. So, "window_start_point" is
110
+ insignificant for below functions:
111
+ * cume_dist
112
+ * rank
113
+ * dense_rank
114
+ * percent_rank
115
+ * row_number
116
+ * lead
117
+ * lag
118
+ Default Value: None
119
+ Types: int
120
+
121
+ window_end_point:
122
+ Optional Argument.
123
+ Specifies an end point for a window. Based on the integer value,
124
+ n, starting point of the window is decided.
125
+ * If 'n' is negative, window end point is n rows preceding
126
+ the current row/data point.
127
+ * If 'n' is positive, window end point is n rows following
128
+ the current row/data point.
129
+ * If 'n' is 0, window end's at current row itself.
130
+ * If 'n' is None, window end's at Unbounded following,
131
+ i.e., all rows before current row/data point are
132
+ considered.
133
+ Notes:
134
+ 1. Value passed to this should always satisfy following condition:
135
+ window_start_point <= window_end_point
136
+ 2. Following functions does not require any window to
137
+ perform window aggregation. So, "window_end_point" is
138
+ insignificant for below functions:
139
+ * cume_dist
140
+ * rank
141
+ * dense_rank
142
+ * percent_rank
143
+ * row_number
144
+ * lead
145
+ * lag
146
+ Default Value: None
147
+ Types: int
148
+
149
+ ignore_window:
150
+ Optional Argument.
151
+ Specifies a flag to ignore parameters related to creating
152
+ window ("window_start_point", "window_end_point") and use other
153
+ arguments, if specified.
154
+ When set to True, window is ignored, i.e., ROWS clause is not
155
+ included.
156
+ When set to False, window will be created, which is specified
157
+ by "window_start_point" and "window_end_point" parameters.
158
+ Default Value: False
159
+ Types: bool
160
+
161
+ RAISES:
162
+ TypeError OR ValueError
163
+
164
+ EXAMPLES:
165
+ # Create a Window from a teradataml DataFrame.
166
+ from teradataml import *
167
+ load_example_data("dataframe","sales")
168
+ df = DataFrame.from_table('sales')
169
+ window = Window(object = df)
170
+
171
+ # Create a window from a teradataml DataFrame column.
172
+ window = Window(object = df.Feb)
173
+ """
174
+ self.__object = object
175
+ self.__partition_columns = partition_columns
176
+ self.__order_columns = order_columns
177
+ self.__sort_ascending = sort_ascending
178
+ self.__nulls_first = nulls_first
179
+ self.__window_start_point = window_start_point
180
+ self.__window_end_point = window_end_point
181
+ self.__ignore_window = ignore_window
182
+
183
+ from teradataml.dataframe.dataframe import DataFrame, DataFrameGroupBy
184
+ from teradataml.dataframe.sql import _SQLColumnExpression
185
+
186
+ awu_matrix = []
187
+ awu_matrix.append(["object", object, False, (DataFrame, _SQLColumnExpression)])
188
+ awu_matrix.append(["partition_columns", partition_columns, True, (str, list, _SQLColumnExpression), True])
189
+ awu_matrix.append(["order_columns", order_columns, True, (str, list, _SQLColumnExpression), True])
190
+ awu_matrix.append(["sort_ascending", sort_ascending, True, bool])
191
+ awu_matrix.append(["nulls_first", nulls_first, True, (bool, type(None))])
192
+ awu_matrix.append(["window_start_point", window_start_point, True, int])
193
+ awu_matrix.append(["window_end_point", window_end_point, True, int])
194
+ awu_matrix.append(["ignore_window", ignore_window, True, bool])
195
+
196
+ # Validate argument types
197
+ _Validators._validate_function_arguments(awu_matrix)
198
+
199
+ # Check "window_end_point" is always greater than or equal to "window_start_point".
200
+ if window_start_point is not None and window_end_point is not None and\
201
+ window_start_point > window_end_point:
202
+ raise ValueError(Messages.get_message(MessageCodes.INT_ARGUMENT_COMPARISON,
203
+ "window_end_point",
204
+ "greater than or equal",
205
+ "window_start_point"))
206
+
207
+ self.__is_window_on_tdml_column = isinstance(self.__object, _SQLColumnExpression)
208
+
209
+ # Variable to check if the Window object is initiated on DataFrameGroupBy.
210
+ self.__is_window_on_tdml_groupby_dataframe = isinstance(
211
+ self.__object, DataFrameGroupBy)
212
+
213
+ # A variable to decide whether the output columns should contain
214
+ # unsupported sort columns or not.
215
+ self.__sort_check_required = self.__partition_columns is None and self.__order_columns is None
216
+
217
+ # Check whether columns mentioned in "partition_columns" are existed in
218
+ # teradataml DataFrame and supports sorting.
219
+ if partition_columns:
220
+ self.__validate_window_columns(partition_columns, "partition_columns")
221
+
222
+ # Check whether columns mentioned in "order_columns" are existed in
223
+ # teradataml DataFrame and supports sorting.
224
+ if order_columns:
225
+ self.__validate_window_columns(order_columns, "order_columns")
226
+
227
+ # Raise Error, if the Column is of type CLOB or BLOB, and window has no
228
+ # "partition_columns" and no "order_columns".
229
+ if self.__is_window_on_tdml_column and self.__sort_check_required and \
230
+ type(self.__object.type) in _Dtypes._get_sort_unsupported_data_types():
231
+ raise TeradataMlException(Messages.get_message(MessageCodes.EXECUTION_FAILED,
232
+ "create Window", "Window with"
233
+ " no 'partition_columns' and no 'order_columns' "
234
+ "on {} type of Column({}) is unsupported."
235
+ "".format(self.__object.type, self.__object.name)),
236
+ MessageCodes.EXECUTION_FAILED)
237
+
238
+ self.__aggregate_functions = ['sum',
239
+ 'avg',
240
+ 'mean',
241
+ 'corr',
242
+ 'count',
243
+ 'covar_pop',
244
+ 'covar_samp',
245
+ 'cume_dist',
246
+ 'dense_rank',
247
+ 'first_value',
248
+ 'last_value',
249
+ 'lag',
250
+ 'lead',
251
+ 'max',
252
+ 'min',
253
+ 'percent_rank',
254
+ 'rank',
255
+ 'regr_avgx',
256
+ 'regr_avgy',
257
+ 'regr_count',
258
+ 'regr_intercept',
259
+ 'regr_r2',
260
+ 'regr_slope',
261
+ 'regr_sxx',
262
+ 'regr_sxy',
263
+ 'regr_syy',
264
+ 'row_number',
265
+ 'std',
266
+ 'var'
267
+ ]
268
+
269
+ # Some Window Aggregate functions do not accept ROWS clause.
270
+ # Maintaining all such functions here so while constructing the ROWS
271
+ # clause, below variable can be checked and take appropriate action.
272
+ self.__no_rows_clause_functions = {"cume_dist",
273
+ "rank",
274
+ "dense_rank",
275
+ "percent_rank",
276
+ "row_number",
277
+ "lead",
278
+ "lag"}
279
+
280
+ # Some Window Aggregate functions do not accept Column as a parameter
281
+ # for the function. So, while running window aggregate functions on
282
+ # DataFrame, it is not required to trigger these functions on all the
283
+ # columns in the DataFrame as result is same for all the columns.
284
+ self.__no_column_arg_functions = {"cume_dist",
285
+ "rank",
286
+ "dense_rank",
287
+ "percent_rank",
288
+ "row_number"}
289
+
290
+ def __repr__(self):
291
+ """
292
+ DESCRIPTION:
293
+ String representation of Window Object.
294
+
295
+ RETURNS:
296
+ str.
297
+
298
+ RAISES:
299
+ None.
300
+
301
+ EXAMPLES:
302
+ # Create a Window from a teradataml DataFrame.
303
+ from teradataml import *
304
+ load_example_data("dataframe","sales")
305
+ df = DataFrame.from_table('sales')
306
+ window = Window(object = df)
307
+ print(window)
308
+
309
+ """
310
+ return "{} [partition_columns={}, order_columns={}, sort_ascending={}, nulls_first={}, " \
311
+ "window_start_point={}, window_end_point={}, ignore_window={}]".format(self.__class__.__name__,
312
+ self.__partition_columns,
313
+ self.__order_columns,
314
+ self.__sort_ascending,
315
+ self.__nulls_first,
316
+ self.__window_start_point,
317
+ self.__window_end_point,
318
+ self.__ignore_window)
319
+
320
+ def __getattr__(self, item):
321
+ """
322
+ DESCRIPTION:
323
+ Magic Method to call the corresponding window function.
324
+ Window class do not implement the exact methods but whenever any attribute
325
+ is referred by Window Object, this function gets triggered.
326
+ Based on the input method, corresponding expression is processed.
327
+
328
+ PARAMETERS:
329
+ item:
330
+ Required Argument.
331
+ Name of the window function.
332
+ Types: str
333
+
334
+ RETURNS:
335
+ A function, which actually process the corresponding SQL window function.
336
+
337
+ EXAMPLES:
338
+ # Create a window from a teradataml DataFrame.
339
+ from teradataml import *
340
+ load_example_data("dataframe","sales")
341
+ df = DataFrame.from_table('sales')
342
+ window = Window(object = df)
343
+ window.mean()
344
+ """
345
+ if item not in self.__aggregate_functions:
346
+ raise AttributeError("'{}' object has no attribute '{}'".format(self.__class__.__name__,
347
+ item))
348
+ return lambda *args, **kwargs: \
349
+ self.__process_window_aggregates(item, *args, **kwargs)
350
+
351
+ def __process_window_aggregates(self, func_name, *args, **kwargs):
352
+ """
353
+ Description:
354
+ Function to process the window expression. All window functions are actually
355
+ processed in this function and generates a DataFrame or _SQLColumnExpression
356
+ according to the Window class.
357
+
358
+ PARAMETERS:
359
+ func_name:
360
+ Required Argument.
361
+ Specifies the name of the window function.
362
+ Types: str
363
+
364
+ args:
365
+ Optional Argument.
366
+ Specifies the positional arguments to be passed to the window function.
367
+ Types: Tuple
368
+
369
+ kwargs:
370
+ Optional Argument.
371
+ Specifies the keyword arguments to be passed to the window function.
372
+ Types: Dictionary
373
+
374
+ RETURNS:
375
+ Either a new teradataml DataFrame or an _SQLColumnExpression, according to Window class.
376
+
377
+ EXAMPLES:
378
+ # Create a Window from a teradataml DataFrame.
379
+ from teradataml import *
380
+ load_example_data("dataframe","sales")
381
+ df = DataFrame.from_table('sales')
382
+ window = Window(object = df)
383
+ window.__process_window_aggregates("mean")
384
+ """
385
+
386
+ # sqlalchemy Over clause accepts 3 parameters to frame the SQL query:
387
+ # partition_by, order_by & rows.
388
+ from teradataml.dataframe.sql import ColumnExpression
389
+ window_properties = {"window_function": func_name,
390
+ "partition_by": [col if isinstance(col, str) else col.expression for col
391
+ in UtilFuncs._as_list(self.__partition_columns)
392
+ if col is not None],
393
+ "order_by": [col.expression if isinstance(col, ColumnExpression) else col for col
394
+ in UtilFuncs._as_list(self.__generate_sqlalchemy_order_by_syntax())
395
+ if col is not None],
396
+ "rows": (self.__window_start_point,
397
+ self.__window_end_point
398
+ ),
399
+ "is_window_aggregate": True
400
+ }
401
+
402
+ # If "window_properties" do not have key "rows", then _SQLColumnExpression
403
+ # do not construct ROWS clause. So, removing "rows" either if window to be
404
+ # ignored or if function does not require ROWS clause.
405
+ if self.__ignore_window or (func_name in self.__no_rows_clause_functions):
406
+ window_properties.pop("rows")
407
+
408
+ if self.__is_window_on_tdml_column:
409
+ aggregate_function = getattr(self.__object, func_name)
410
+ kwargs.update({"window_properties": window_properties})
411
+ return aggregate_function(*args, **kwargs)
412
+ else:
413
+ return self.__process_dataframe_window_aggregate(func_name, *args, **kwargs)
414
+
415
+ def __validate_window_columns(self, columns_in_window, window_arg_name):
416
+ """
417
+ DESCRIPTION:
418
+ Validates, whether the columns mentioned in Window class is
419
+ available in teradataml DataFrame or not. And if available, it
420
+ then checks for types, which do not support sorting, in
421
+ "partition_columns" and "order_columns".
422
+
423
+ PARAMETERS:
424
+ columns_in_window:
425
+ Required Argument.
426
+ Specifies the column names mentioned in either
427
+ "partition_columns" or "order_columns".
428
+ Types: str OR list of Strings (str)
429
+
430
+ window_arg_name:
431
+ Required Argument.
432
+ Specifies the name of the argument which is being validated.
433
+ Types: str
434
+
435
+ RAISES:
436
+ ValueError
437
+
438
+ RETURNS:
439
+ None
440
+
441
+ EXAMPLES:
442
+ # Create a Window from a teradataml DataFrame.
443
+ from teradataml import *
444
+ load_example_data("dataframe","sales")
445
+ df = DataFrame.from_table('sales')
446
+ window = Window(object = df)
447
+ window.__validate_window_columns("Feb", "partition_columns")
448
+ window.__validate_window_columns("Feb", "order_columns")
449
+ """
450
+ from teradataml.common.utils import UtilFuncs
451
+ window_columns = UtilFuncs._as_list(columns_in_window)
452
+ if self.__is_window_on_tdml_column:
453
+ _Validators._validate_columnexpression_dataframe_has_columns(window_columns,
454
+ window_arg_name,
455
+ self.__object
456
+ )
457
+ else:
458
+ columns_in_expression = []
459
+ for col in window_columns:
460
+ if isinstance(col, str):
461
+ columns_in_expression.append(col)
462
+ else:
463
+ columns_in_expression = columns_in_expression + col._all_columns
464
+ _Validators._validate_dataframe_has_argument_columns(columns_in_expression,
465
+ window_arg_name,
466
+ self.__object,
467
+ 'teradataml'
468
+ )
469
+
470
+ columns = UtilFuncs._get_all_columns(self.__object,
471
+ self.__is_window_on_tdml_column)
472
+
473
+ # Validate invalid types.
474
+ _Validators._validate_invalid_column_types(
475
+ columns, window_arg_name, window_columns, _Dtypes._get_sort_unsupported_data_types())
476
+
477
+ @collect_queryband(arg_name="func_name", prefix="DF_WinAgg")
478
+ def __process_dataframe_window_aggregate(self, func_name, *args, **kwargs):
479
+ """
480
+ Description:
481
+ Function processes window aggregate function on a teradataml
482
+ DataFrame, by following below steps:
483
+ * Same window aggregate function is executed on each supported
484
+ column of the teradataml DataFrame.
485
+ * Each generated window aggregate _SQLColumnExpression is
486
+ passed as input to DataFrame.assign() function.
487
+
488
+ PARAMETERS:
489
+ func_name:
490
+ Required Argument.
491
+ Specifies the name of the window function.
492
+ Types: str
493
+
494
+ args:
495
+ Optional Argument.
496
+ Specifies the positional arguments to be passed to the window function.
497
+ Types: Tuple
498
+
499
+ kwargs:
500
+ Optional Argument.
501
+ Specifies the keyword arguments to be passed to the window function.
502
+ Types: Dictionary
503
+
504
+ RETURNS:
505
+ teradataml DataFrame.
506
+
507
+ EXAMPLES:
508
+ # Create a Window from a teradataml DataFrame.
509
+ from teradataml import *
510
+ load_example_data("dataframe","sales")
511
+ df = DataFrame.from_table('sales')
512
+ window = df.window()
513
+ window.__process_dataframe_window_aggregate("mean")
514
+ """
515
+
516
+ new_columns = self.__get_columns_and_expressions(func_name,
517
+ *args,
518
+ **kwargs)
519
+
520
+ # If __sort_check_required is True, then "new_columns" contains
521
+ # the valid original columns.
522
+ if self.__sort_check_required:
523
+ return self.__object.assign(drop_columns=True, **new_columns)
524
+ return self.__object.assign(**new_columns)
525
+
526
+ def __get_columns_and_expressions(self, func_name, *args, **kwargs):
527
+ """
528
+ Description:
529
+ Function to get the column name and corresponding _SQLColumnExpression,
530
+ for a given window aggregate function. This function validates
531
+ whether window aggregate function is valid for a column or not, and
532
+ only if it is valid, then it returns the column name and
533
+ _SQLColumnExpression.
534
+
535
+ PARAMETERS:
536
+ func_name:
537
+ Required Argument.
538
+ Specifies the name of the window function.
539
+ Types: str
540
+
541
+ args:
542
+ Optional Argument.
543
+ Specifies the positional arguments to be passed to the window function.
544
+ Types: Tuple
545
+
546
+ kwargs:
547
+ Optional Argument.
548
+ Specifies the keyword arguments to be passed to the window function.
549
+ Types: Dictionary
550
+
551
+ RETURNS:
552
+ dict
553
+
554
+ EXAMPLES:
555
+ # Create a Window from a teradataml DataFrame.
556
+ from teradataml import *
557
+ load_example_data("dataframe","sales")
558
+ df = DataFrame.from_table('sales')
559
+ window = df.window()
560
+ window.__get_columns_and_expressions("mean")
561
+ """
562
+
563
+ # Dict to hold the columns to be projected, when partition and order
564
+ # columns are None.
565
+ original_columns = {}
566
+
567
+ # Dict to hold the new window agg columns to be projected.
568
+ new_columns = {}
569
+
570
+ # If window is initiated on DataFrame, then every column should
571
+ # be checked if it can participate in window aggregation. However,
572
+ # if window is on DataFrameGroupBy object, then only grouping columns
573
+ # should participate in window aggregation.
574
+ columns = self.__object._metaexpr.c
575
+ if self.__is_window_on_tdml_groupby_dataframe:
576
+ columns = self.__object._get_groupby_columns_expression()
577
+
578
+ column_names = []
579
+ for column in columns:
580
+ column_names.append(column.name)
581
+ # By Default, window aggregates sort on "order_columns" and
582
+ # "partition_columns". If both are not specified, window aggregates
583
+ # sorts on all columns in DataFrame. Thus, remove columns of types
584
+ # that does not support sorting.
585
+ if self.__sort_check_required and type(column.type) in \
586
+ _Dtypes._get_sort_unsupported_data_types():
587
+ continue
588
+ else:
589
+ try:
590
+ # Grouping columns are not dropping even though "drop_columns"
591
+ # set to True in DataFrame.assign(). So, skipping the column addition
592
+ # in such cases as adding the column results in duplicate columns
593
+ # in DataFrame.
594
+ if self.__sort_check_required and not self.__is_window_on_tdml_groupby_dataframe:
595
+ original_columns[column.name] = column
596
+ window = column.window(partition_columns=self.__partition_columns,
597
+ order_columns=self.__order_columns,
598
+ sort_ascending=self.__sort_ascending,
599
+ nulls_first=self.__nulls_first,
600
+ window_start_point=self.__window_start_point,
601
+ window_end_point=self.__window_end_point,
602
+ ignore_window=self.__ignore_window)
603
+
604
+ # For the functions which does not accept column as a parameter,
605
+ # do not trigger aggregate function on all columns. Triggering
606
+ # on one column is enough.
607
+ if func_name in self.__no_column_arg_functions:
608
+ if not new_columns:
609
+ sql_column_expression = getattr(window, func_name)(*args, **kwargs)
610
+ new_columns["{}_{}".format("col", func_name)] = sql_column_expression
611
+ else:
612
+ sql_column_expression = getattr(window, func_name)(*args, **kwargs)
613
+ new_columns["{}_{}".format(column.name, func_name)] = sql_column_expression
614
+ except RuntimeError:
615
+ # RuntimeError being raised, if, a window aggregate function is
616
+ # applied on an un-supported column.
617
+ pass
618
+
619
+ # Raise the error. Window aggregate does not support the columns in the
620
+ # DataFrame.
621
+ if not new_columns:
622
+ raise TeradataMlException(Messages.get_message(MessageCodes.TDMLDF_AGGREGATE_UNSUPPORTED,
623
+ ",".join(column_names),
624
+ func_name),
625
+ MessageCodes.TDMLDF_AGGREGATE_UNSUPPORTED)
626
+ new_columns.update(original_columns)
627
+ return new_columns
628
+
629
+ def __generate_sqlalchemy_order_by_syntax(self):
630
+ """
631
+ Description:
632
+ Function to get the order_by clause, which can be sourced to
633
+ sqlalchemy Over clause. sqlalchemy Over clause which accepts only
634
+ order_by, and thus, the information about nulls_first &
635
+ sort_ascending needs to be embedded with order_by clause.
636
+
637
+ RETURNS:
638
+ An Object of type sqlalchemy element.
639
+
640
+ EXAMPLES:
641
+ # Create a Window from a teradataml DataFrame.
642
+ from teradataml import *
643
+ load_example_data("dataframe","sales")
644
+ df = DataFrame.from_table('sales')
645
+ window = df.window()
646
+ window.__generate_sqlalchemy_order_by_syntax()
647
+ """
648
+
649
+ # Check if order_columns is None. If it is None, No need to consider
650
+ # sort_ascending & nulls_first.
651
+ if self.__order_columns is None:
652
+ return
653
+
654
+ from teradataml.common.utils import UtilFuncs
655
+ from teradataml.dataframe.sql import ColumnExpression
656
+ order_by = UtilFuncs._as_list(self.__order_columns)
657
+ wrap_order_by = lambda sqlalc_func: [sqlalc_func(ele) if not isinstance(ele, ColumnExpression) else ele for
658
+ ele in order_by]
659
+ if not self.__sort_ascending:
660
+ order_by = wrap_order_by(desc)
661
+
662
+ if self.__nulls_first is None:
663
+ return order_by
664
+
665
+ if self.__nulls_first is True:
666
+ order_by = wrap_order_by(nullsfirst)
667
+ else:
668
+ order_by = wrap_order_by(nullslast)
669
+
670
+ return order_by
671
+
672
+ def __dir__(self):
673
+ """
674
+ DESCRIPTION:
675
+ Function returns the attributes and/or names of the methods of the
676
+ Window object.
677
+
678
+ RETURNS:
679
+ list of Strings (str).
680
+
681
+ EXAMPLES:
682
+ # Create a window from a teradataml DataFrame.
683
+ from teradataml import *
684
+ load_example_data("dataframe","sales")
685
+ df = DataFrame.from_table('sales')
686
+ window = Window(object = df)
687
+ dir(window)
688
+ """
689
+
690
+ # Since Window class do not implement the exact methods, lookup for
691
+ # the available methods, do not return the Aggregate functions.
692
+ # So Overwriting this with teradata supporting Aggregate functions.
693
+ return [attr for attr in super(self.__class__, self).__dir__()] + \
693
694
  self.__aggregate_functions