teradataml 17.20.0.7__py3-none-any.whl → 20.0.0.1__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 (1303) hide show
  1. teradataml/LICENSE-3RD-PARTY.pdf +0 -0
  2. teradataml/LICENSE.pdf +0 -0
  3. teradataml/README.md +1935 -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 +2040 -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 +798 -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 +1683 -0
  29. teradataml/automl/custom_json_utils.py +1270 -0
  30. teradataml/automl/data_preparation.py +1011 -0
  31. teradataml/automl/data_transformation.py +789 -0
  32. teradataml/automl/feature_engineering.py +1580 -0
  33. teradataml/automl/feature_exploration.py +554 -0
  34. teradataml/automl/model_evaluation.py +151 -0
  35. teradataml/automl/model_training.py +1026 -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/auth_client.py +133 -0
  41. teradataml/clients/pkce_client.py +481 -481
  42. teradataml/common/aed_utils.py +7 -2
  43. teradataml/common/bulk_exposed_utils.py +111 -111
  44. teradataml/common/constants.py +1438 -1441
  45. teradataml/common/deprecations.py +160 -0
  46. teradataml/common/exceptions.py +73 -73
  47. teradataml/common/formula.py +742 -742
  48. teradataml/common/garbagecollector.py +597 -635
  49. teradataml/common/messagecodes.py +424 -431
  50. teradataml/common/messages.py +228 -231
  51. teradataml/common/sqlbundle.py +693 -693
  52. teradataml/common/td_coltype_code_to_tdtype.py +48 -48
  53. teradataml/common/utils.py +2424 -2500
  54. teradataml/common/warnings.py +25 -25
  55. teradataml/common/wrapper_utils.py +1 -110
  56. teradataml/config/dummy_file1.cfg +4 -4
  57. teradataml/config/dummy_file2.cfg +2 -2
  58. teradataml/config/sqlengine_alias_definitions_v1.0 +13 -13
  59. teradataml/config/sqlengine_alias_definitions_v1.1 +19 -19
  60. teradataml/config/sqlengine_alias_definitions_v1.3 +18 -18
  61. teradataml/context/aed_context.py +217 -217
  62. teradataml/context/context.py +1091 -999
  63. teradataml/data/A_loan.csv +19 -19
  64. teradataml/data/BINARY_REALS_LEFT.csv +11 -11
  65. teradataml/data/BINARY_REALS_RIGHT.csv +11 -11
  66. teradataml/data/B_loan.csv +49 -49
  67. teradataml/data/BuoyData2.csv +17 -17
  68. teradataml/data/CONVOLVE2_COMPLEX_LEFT.csv +5 -5
  69. teradataml/data/CONVOLVE2_COMPLEX_RIGHT.csv +5 -5
  70. teradataml/data/Convolve2RealsLeft.csv +5 -5
  71. teradataml/data/Convolve2RealsRight.csv +5 -5
  72. teradataml/data/Convolve2ValidLeft.csv +11 -11
  73. teradataml/data/Convolve2ValidRight.csv +11 -11
  74. teradataml/data/DFFTConv_Real_8_8.csv +65 -65
  75. teradataml/data/Orders1_12mf.csv +24 -24
  76. teradataml/data/Pi_loan.csv +7 -7
  77. teradataml/data/SMOOTHED_DATA.csv +7 -7
  78. teradataml/data/TestDFFT8.csv +9 -9
  79. teradataml/data/TestRiver.csv +109 -109
  80. teradataml/data/Traindata.csv +28 -28
  81. teradataml/data/acf.csv +17 -17
  82. teradataml/data/adaboost_example.json +34 -34
  83. teradataml/data/adaboostpredict_example.json +24 -24
  84. teradataml/data/additional_table.csv +10 -10
  85. teradataml/data/admissions_test.csv +21 -21
  86. teradataml/data/admissions_train.csv +41 -41
  87. teradataml/data/admissions_train_nulls.csv +41 -41
  88. teradataml/data/advertising.csv +201 -0
  89. teradataml/data/ageandheight.csv +13 -13
  90. teradataml/data/ageandpressure.csv +31 -31
  91. teradataml/data/antiselect_example.json +36 -36
  92. teradataml/data/antiselect_input.csv +8 -8
  93. teradataml/data/antiselect_input_mixed_case.csv +8 -8
  94. teradataml/data/applicant_external.csv +6 -6
  95. teradataml/data/applicant_reference.csv +6 -6
  96. teradataml/data/arima_example.json +9 -9
  97. teradataml/data/assortedtext_input.csv +8 -8
  98. teradataml/data/attribution_example.json +33 -33
  99. teradataml/data/attribution_sample_table.csv +27 -27
  100. teradataml/data/attribution_sample_table1.csv +6 -6
  101. teradataml/data/attribution_sample_table2.csv +11 -11
  102. teradataml/data/bank_churn.csv +10001 -0
  103. teradataml/data/bank_marketing.csv +11163 -0
  104. teradataml/data/bank_web_clicks1.csv +42 -42
  105. teradataml/data/bank_web_clicks2.csv +91 -91
  106. teradataml/data/bank_web_url.csv +85 -85
  107. teradataml/data/barrier.csv +2 -2
  108. teradataml/data/barrier_new.csv +3 -3
  109. teradataml/data/betweenness_example.json +13 -13
  110. teradataml/data/bike_sharing.csv +732 -0
  111. teradataml/data/bin_breaks.csv +8 -8
  112. teradataml/data/bin_fit_ip.csv +3 -3
  113. teradataml/data/binary_complex_left.csv +11 -11
  114. teradataml/data/binary_complex_right.csv +11 -11
  115. teradataml/data/binary_matrix_complex_left.csv +21 -21
  116. teradataml/data/binary_matrix_complex_right.csv +21 -21
  117. teradataml/data/binary_matrix_real_left.csv +21 -21
  118. teradataml/data/binary_matrix_real_right.csv +21 -21
  119. teradataml/data/blood2ageandweight.csv +26 -26
  120. teradataml/data/bmi.csv +501 -0
  121. teradataml/data/boston.csv +507 -507
  122. teradataml/data/boston2cols.csv +721 -0
  123. teradataml/data/breast_cancer.csv +570 -0
  124. teradataml/data/buoydata_mix.csv +11 -11
  125. teradataml/data/burst_data.csv +5 -5
  126. teradataml/data/burst_example.json +20 -20
  127. teradataml/data/byom_example.json +17 -17
  128. teradataml/data/bytes_table.csv +3 -3
  129. teradataml/data/cal_housing_ex_raw.csv +70 -70
  130. teradataml/data/callers.csv +7 -7
  131. teradataml/data/calls.csv +10 -10
  132. teradataml/data/cars_hist.csv +33 -33
  133. teradataml/data/cat_table.csv +24 -24
  134. teradataml/data/ccm_example.json +31 -31
  135. teradataml/data/ccm_input.csv +91 -91
  136. teradataml/data/ccm_input2.csv +13 -13
  137. teradataml/data/ccmexample.csv +101 -101
  138. teradataml/data/ccmprepare_example.json +8 -8
  139. teradataml/data/ccmprepare_input.csv +91 -91
  140. teradataml/data/cfilter_example.json +12 -12
  141. teradataml/data/changepointdetection_example.json +18 -18
  142. teradataml/data/changepointdetectionrt_example.json +8 -8
  143. teradataml/data/chi_sq.csv +2 -2
  144. teradataml/data/churn_data.csv +14 -14
  145. teradataml/data/churn_emission.csv +35 -35
  146. teradataml/data/churn_initial.csv +3 -3
  147. teradataml/data/churn_state_transition.csv +5 -5
  148. teradataml/data/citedges_2.csv +745 -745
  149. teradataml/data/citvertices_2.csv +1210 -1210
  150. teradataml/data/clicks2.csv +16 -16
  151. teradataml/data/clickstream.csv +12 -12
  152. teradataml/data/clickstream1.csv +11 -11
  153. teradataml/data/closeness_example.json +15 -15
  154. teradataml/data/complaints.csv +21 -21
  155. teradataml/data/complaints_mini.csv +3 -3
  156. teradataml/data/complaints_testtoken.csv +224 -224
  157. teradataml/data/complaints_tokens_test.csv +353 -353
  158. teradataml/data/complaints_traintoken.csv +472 -472
  159. teradataml/data/computers_category.csv +1001 -1001
  160. teradataml/data/computers_test1.csv +1252 -1252
  161. teradataml/data/computers_train1.csv +5009 -5009
  162. teradataml/data/computers_train1_clustered.csv +5009 -5009
  163. teradataml/data/confusionmatrix_example.json +9 -9
  164. teradataml/data/conversion_event_table.csv +3 -3
  165. teradataml/data/corr_input.csv +17 -17
  166. teradataml/data/correlation_example.json +11 -11
  167. teradataml/data/coxhazardratio_example.json +39 -39
  168. teradataml/data/coxph_example.json +15 -15
  169. teradataml/data/coxsurvival_example.json +28 -28
  170. teradataml/data/cpt.csv +41 -41
  171. teradataml/data/credit_ex_merged.csv +45 -45
  172. teradataml/data/customer_loyalty.csv +301 -301
  173. teradataml/data/customer_loyalty_newseq.csv +31 -31
  174. teradataml/data/customer_segmentation_test.csv +2628 -0
  175. teradataml/data/customer_segmentation_train.csv +8069 -0
  176. teradataml/data/dataframe_example.json +146 -146
  177. teradataml/data/decisionforest_example.json +37 -37
  178. teradataml/data/decisionforestpredict_example.json +38 -38
  179. teradataml/data/decisiontree_example.json +21 -21
  180. teradataml/data/decisiontreepredict_example.json +45 -45
  181. teradataml/data/dfft2_size4_real.csv +17 -17
  182. teradataml/data/dfft2_test_matrix16.csv +17 -17
  183. teradataml/data/dfft2conv_real_4_4.csv +65 -65
  184. teradataml/data/diabetes.csv +443 -443
  185. teradataml/data/diabetes_test.csv +89 -89
  186. teradataml/data/dict_table.csv +5 -5
  187. teradataml/data/docperterm_table.csv +4 -4
  188. teradataml/data/docs/__init__.py +1 -1
  189. teradataml/data/docs/byom/docs/DataRobotPredict.py +180 -180
  190. teradataml/data/docs/byom/docs/DataikuPredict.py +177 -177
  191. teradataml/data/docs/byom/docs/H2OPredict.py +324 -324
  192. teradataml/data/docs/byom/docs/ONNXPredict.py +283 -283
  193. teradataml/data/docs/byom/docs/PMMLPredict.py +277 -277
  194. teradataml/data/docs/sqle/docs_17_10/Antiselect.py +82 -82
  195. teradataml/data/docs/sqle/docs_17_10/Attribution.py +199 -199
  196. teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +171 -171
  197. teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +131 -130
  198. teradataml/data/docs/sqle/docs_17_10/CategoricalSummary.py +86 -86
  199. teradataml/data/docs/sqle/docs_17_10/ChiSq.py +90 -90
  200. teradataml/data/docs/sqle/docs_17_10/ColumnSummary.py +85 -85
  201. teradataml/data/docs/sqle/docs_17_10/ConvertTo.py +95 -95
  202. teradataml/data/docs/sqle/docs_17_10/DecisionForestPredict.py +139 -139
  203. teradataml/data/docs/sqle/docs_17_10/DecisionTreePredict.py +151 -151
  204. teradataml/data/docs/sqle/docs_17_10/FTest.py +160 -160
  205. teradataml/data/docs/sqle/docs_17_10/FillRowId.py +82 -82
  206. teradataml/data/docs/sqle/docs_17_10/Fit.py +87 -87
  207. teradataml/data/docs/sqle/docs_17_10/GLMPredict.py +144 -144
  208. teradataml/data/docs/sqle/docs_17_10/GetRowsWithMissingValues.py +84 -84
  209. teradataml/data/docs/sqle/docs_17_10/GetRowsWithoutMissingValues.py +81 -81
  210. teradataml/data/docs/sqle/docs_17_10/Histogram.py +164 -164
  211. teradataml/data/docs/sqle/docs_17_10/MovingAverage.py +134 -134
  212. teradataml/data/docs/sqle/docs_17_10/NGramSplitter.py +208 -208
  213. teradataml/data/docs/sqle/docs_17_10/NPath.py +265 -265
  214. teradataml/data/docs/sqle/docs_17_10/NaiveBayesPredict.py +116 -116
  215. teradataml/data/docs/sqle/docs_17_10/NaiveBayesTextClassifierPredict.py +176 -176
  216. teradataml/data/docs/sqle/docs_17_10/NumApply.py +147 -147
  217. teradataml/data/docs/sqle/docs_17_10/OneHotEncodingFit.py +134 -132
  218. teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +109 -103
  219. teradataml/data/docs/sqle/docs_17_10/OutlierFilterFit.py +165 -165
  220. teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +105 -101
  221. teradataml/data/docs/sqle/docs_17_10/Pack.py +128 -128
  222. teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesFit.py +111 -111
  223. teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +102 -102
  224. teradataml/data/docs/sqle/docs_17_10/QQNorm.py +104 -104
  225. teradataml/data/docs/sqle/docs_17_10/RoundColumns.py +109 -109
  226. teradataml/data/docs/sqle/docs_17_10/RowNormalizeFit.py +117 -117
  227. teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +99 -98
  228. teradataml/data/docs/sqle/docs_17_10/SVMSparsePredict.py +152 -152
  229. teradataml/data/docs/sqle/docs_17_10/ScaleFit.py +197 -197
  230. teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +99 -98
  231. teradataml/data/docs/sqle/docs_17_10/Sessionize.py +113 -113
  232. teradataml/data/docs/sqle/docs_17_10/SimpleImputeFit.py +116 -116
  233. teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +98 -98
  234. teradataml/data/docs/sqle/docs_17_10/StrApply.py +187 -187
  235. teradataml/data/docs/sqle/docs_17_10/StringSimilarity.py +145 -145
  236. teradataml/data/docs/sqle/docs_17_10/Transform.py +105 -104
  237. teradataml/data/docs/sqle/docs_17_10/UnivariateStatistics.py +141 -141
  238. teradataml/data/docs/sqle/docs_17_10/Unpack.py +214 -214
  239. teradataml/data/docs/sqle/docs_17_10/WhichMax.py +83 -83
  240. teradataml/data/docs/sqle/docs_17_10/WhichMin.py +83 -83
  241. teradataml/data/docs/sqle/docs_17_10/ZTest.py +155 -155
  242. teradataml/data/docs/sqle/docs_17_20/ANOVA.py +186 -126
  243. teradataml/data/docs/sqle/docs_17_20/Antiselect.py +82 -82
  244. teradataml/data/docs/sqle/docs_17_20/Attribution.py +200 -200
  245. teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +171 -171
  246. teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +139 -138
  247. teradataml/data/docs/sqle/docs_17_20/CategoricalSummary.py +86 -86
  248. teradataml/data/docs/sqle/docs_17_20/ChiSq.py +90 -90
  249. teradataml/data/docs/sqle/docs_17_20/ClassificationEvaluator.py +166 -166
  250. teradataml/data/docs/sqle/docs_17_20/ColumnSummary.py +85 -85
  251. teradataml/data/docs/sqle/docs_17_20/ColumnTransformer.py +245 -243
  252. teradataml/data/docs/sqle/docs_17_20/ConvertTo.py +113 -113
  253. teradataml/data/docs/sqle/docs_17_20/DecisionForest.py +279 -279
  254. teradataml/data/docs/sqle/docs_17_20/DecisionForestPredict.py +144 -144
  255. teradataml/data/docs/sqle/docs_17_20/DecisionTreePredict.py +135 -135
  256. teradataml/data/docs/sqle/docs_17_20/FTest.py +239 -160
  257. teradataml/data/docs/sqle/docs_17_20/FillRowId.py +82 -82
  258. teradataml/data/docs/sqle/docs_17_20/Fit.py +87 -87
  259. teradataml/data/docs/sqle/docs_17_20/GLM.py +541 -380
  260. teradataml/data/docs/sqle/docs_17_20/GLMPerSegment.py +414 -414
  261. teradataml/data/docs/sqle/docs_17_20/GLMPredict.py +144 -144
  262. teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +233 -234
  263. teradataml/data/docs/sqle/docs_17_20/GetFutileColumns.py +125 -123
  264. teradataml/data/docs/sqle/docs_17_20/GetRowsWithMissingValues.py +108 -108
  265. teradataml/data/docs/sqle/docs_17_20/GetRowsWithoutMissingValues.py +105 -105
  266. teradataml/data/docs/sqle/docs_17_20/Histogram.py +223 -223
  267. teradataml/data/docs/sqle/docs_17_20/KMeans.py +251 -204
  268. teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +144 -143
  269. teradataml/data/docs/sqle/docs_17_20/KNN.py +214 -214
  270. teradataml/data/docs/sqle/docs_17_20/MovingAverage.py +134 -134
  271. teradataml/data/docs/sqle/docs_17_20/NGramSplitter.py +208 -208
  272. teradataml/data/docs/sqle/docs_17_20/NPath.py +265 -265
  273. teradataml/data/docs/sqle/docs_17_20/NaiveBayesPredict.py +116 -116
  274. teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +177 -176
  275. teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +126 -126
  276. teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +118 -117
  277. teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +112 -112
  278. teradataml/data/docs/sqle/docs_17_20/NumApply.py +147 -147
  279. teradataml/data/docs/sqle/docs_17_20/OneClassSVM.py +307 -307
  280. teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +185 -184
  281. teradataml/data/docs/sqle/docs_17_20/OneHotEncodingFit.py +230 -225
  282. teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +121 -115
  283. teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingFit.py +219 -219
  284. teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingTransform.py +127 -127
  285. teradataml/data/docs/sqle/docs_17_20/OutlierFilterFit.py +189 -189
  286. teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +117 -112
  287. teradataml/data/docs/sqle/docs_17_20/Pack.py +128 -128
  288. teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesFit.py +111 -111
  289. teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +112 -111
  290. teradataml/data/docs/sqle/docs_17_20/QQNorm.py +104 -104
  291. teradataml/data/docs/sqle/docs_17_20/ROC.py +164 -163
  292. teradataml/data/docs/sqle/docs_17_20/RandomProjectionFit.py +154 -154
  293. teradataml/data/docs/sqle/docs_17_20/RandomProjectionMinComponents.py +106 -106
  294. teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +120 -120
  295. teradataml/data/docs/sqle/docs_17_20/RegressionEvaluator.py +211 -211
  296. teradataml/data/docs/sqle/docs_17_20/RoundColumns.py +108 -108
  297. teradataml/data/docs/sqle/docs_17_20/RowNormalizeFit.py +117 -117
  298. teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +111 -110
  299. teradataml/data/docs/sqle/docs_17_20/SVM.py +413 -413
  300. teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +213 -202
  301. teradataml/data/docs/sqle/docs_17_20/SVMSparsePredict.py +152 -152
  302. teradataml/data/docs/sqle/docs_17_20/ScaleFit.py +315 -197
  303. teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +202 -109
  304. teradataml/data/docs/sqle/docs_17_20/SentimentExtractor.py +206 -206
  305. teradataml/data/docs/sqle/docs_17_20/Sessionize.py +113 -113
  306. teradataml/data/docs/sqle/docs_17_20/Silhouette.py +152 -152
  307. teradataml/data/docs/sqle/docs_17_20/SimpleImputeFit.py +116 -116
  308. teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +109 -108
  309. teradataml/data/docs/sqle/docs_17_20/StrApply.py +187 -187
  310. teradataml/data/docs/sqle/docs_17_20/StringSimilarity.py +145 -145
  311. teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +207 -207
  312. teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +333 -171
  313. teradataml/data/docs/sqle/docs_17_20/TargetEncodingFit.py +266 -266
  314. teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +141 -140
  315. teradataml/data/docs/sqle/docs_17_20/TextParser.py +172 -172
  316. teradataml/data/docs/sqle/docs_17_20/TrainTestSplit.py +159 -159
  317. teradataml/data/docs/sqle/docs_17_20/Transform.py +123 -123
  318. teradataml/data/docs/sqle/docs_17_20/UnivariateStatistics.py +141 -141
  319. teradataml/data/docs/sqle/docs_17_20/Unpack.py +214 -214
  320. teradataml/data/docs/sqle/docs_17_20/VectorDistance.py +168 -168
  321. teradataml/data/docs/sqle/docs_17_20/WhichMax.py +83 -83
  322. teradataml/data/docs/sqle/docs_17_20/WhichMin.py +83 -83
  323. teradataml/data/docs/sqle/docs_17_20/WordEmbeddings.py +236 -236
  324. teradataml/data/docs/sqle/docs_17_20/XGBoost.py +361 -353
  325. teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +281 -275
  326. teradataml/data/docs/sqle/docs_17_20/ZTest.py +220 -155
  327. teradataml/data/docs/tableoperator/docs_17_00/ReadNOS.py +429 -429
  328. teradataml/data/docs/tableoperator/docs_17_05/ReadNOS.py +429 -429
  329. teradataml/data/docs/tableoperator/docs_17_05/WriteNOS.py +347 -347
  330. teradataml/data/docs/tableoperator/docs_17_10/ReadNOS.py +428 -428
  331. teradataml/data/docs/tableoperator/docs_17_10/WriteNOS.py +347 -347
  332. teradataml/data/docs/tableoperator/docs_17_20/ReadNOS.py +439 -439
  333. teradataml/data/docs/tableoperator/docs_17_20/WriteNOS.py +386 -386
  334. teradataml/data/docs/uaf/docs_17_20/ACF.py +195 -195
  335. teradataml/data/docs/uaf/docs_17_20/ArimaEstimate.py +369 -369
  336. teradataml/data/docs/uaf/docs_17_20/ArimaForecast.py +142 -142
  337. teradataml/data/docs/uaf/docs_17_20/ArimaValidate.py +159 -159
  338. teradataml/data/docs/uaf/docs_17_20/BinaryMatrixOp.py +247 -247
  339. teradataml/data/docs/uaf/docs_17_20/BinarySeriesOp.py +252 -252
  340. teradataml/data/docs/uaf/docs_17_20/BreuschGodfrey.py +177 -177
  341. teradataml/data/docs/uaf/docs_17_20/BreuschPaganGodfrey.py +174 -174
  342. teradataml/data/docs/uaf/docs_17_20/Convolve.py +226 -226
  343. teradataml/data/docs/uaf/docs_17_20/Convolve2.py +214 -214
  344. teradataml/data/docs/uaf/docs_17_20/CumulPeriodogram.py +183 -183
  345. teradataml/data/docs/uaf/docs_17_20/DFFT.py +203 -203
  346. teradataml/data/docs/uaf/docs_17_20/DFFT2.py +216 -216
  347. teradataml/data/docs/uaf/docs_17_20/DFFT2Conv.py +215 -215
  348. teradataml/data/docs/uaf/docs_17_20/DFFTConv.py +191 -191
  349. teradataml/data/docs/uaf/docs_17_20/DTW.py +179 -179
  350. teradataml/data/docs/uaf/docs_17_20/DickeyFuller.py +144 -144
  351. teradataml/data/docs/uaf/docs_17_20/DurbinWatson.py +183 -183
  352. teradataml/data/docs/uaf/docs_17_20/ExtractResults.py +184 -184
  353. teradataml/data/docs/uaf/docs_17_20/FitMetrics.py +172 -172
  354. teradataml/data/docs/uaf/docs_17_20/GenseriesFormula.py +205 -205
  355. teradataml/data/docs/uaf/docs_17_20/GenseriesSinusoids.py +142 -142
  356. teradataml/data/docs/uaf/docs_17_20/HoltWintersForecaster.py +258 -258
  357. teradataml/data/docs/uaf/docs_17_20/IDFFT.py +164 -164
  358. teradataml/data/docs/uaf/docs_17_20/IDFFT2.py +198 -198
  359. teradataml/data/docs/uaf/docs_17_20/InputValidator.py +120 -120
  360. teradataml/data/docs/uaf/docs_17_20/LineSpec.py +155 -155
  361. teradataml/data/docs/uaf/docs_17_20/LinearRegr.py +214 -214
  362. teradataml/data/docs/uaf/docs_17_20/MAMean.py +173 -173
  363. teradataml/data/docs/uaf/docs_17_20/MInfo.py +133 -133
  364. teradataml/data/docs/uaf/docs_17_20/MatrixMultiply.py +135 -135
  365. teradataml/data/docs/uaf/docs_17_20/MultivarRegr.py +190 -190
  366. teradataml/data/docs/uaf/docs_17_20/PACF.py +158 -158
  367. teradataml/data/docs/uaf/docs_17_20/Portman.py +216 -216
  368. teradataml/data/docs/uaf/docs_17_20/PowerTransform.py +154 -154
  369. teradataml/data/docs/uaf/docs_17_20/Resample.py +228 -228
  370. teradataml/data/docs/uaf/docs_17_20/SInfo.py +122 -122
  371. teradataml/data/docs/uaf/docs_17_20/SeasonalNormalize.py +165 -165
  372. teradataml/data/docs/uaf/docs_17_20/SelectionCriteria.py +173 -173
  373. teradataml/data/docs/uaf/docs_17_20/SignifPeriodicities.py +170 -170
  374. teradataml/data/docs/uaf/docs_17_20/SignifResidmean.py +163 -163
  375. teradataml/data/docs/uaf/docs_17_20/SimpleExp.py +179 -179
  376. teradataml/data/docs/uaf/docs_17_20/Smoothma.py +207 -207
  377. teradataml/data/docs/uaf/docs_17_20/TrackingOp.py +150 -150
  378. teradataml/data/docs/uaf/docs_17_20/UNDIFF.py +171 -171
  379. teradataml/data/docs/uaf/docs_17_20/Unnormalize.py +201 -201
  380. teradataml/data/docs/uaf/docs_17_20/WhitesGeneral.py +169 -169
  381. teradataml/data/dtw_example.json +17 -17
  382. teradataml/data/dtw_t1.csv +11 -11
  383. teradataml/data/dtw_t2.csv +4 -4
  384. teradataml/data/dwt2d_example.json +15 -15
  385. teradataml/data/dwt_example.json +14 -14
  386. teradataml/data/dwt_filter_dim.csv +5 -5
  387. teradataml/data/emission.csv +9 -9
  388. teradataml/data/emp_table_by_dept.csv +19 -19
  389. teradataml/data/employee_info.csv +4 -4
  390. teradataml/data/employee_table.csv +6 -6
  391. teradataml/data/excluding_event_table.csv +2 -2
  392. teradataml/data/finance_data.csv +6 -6
  393. teradataml/data/finance_data2.csv +61 -61
  394. teradataml/data/finance_data3.csv +93 -93
  395. teradataml/data/fish.csv +160 -0
  396. teradataml/data/fm_blood2ageandweight.csv +26 -26
  397. teradataml/data/fmeasure_example.json +11 -11
  398. teradataml/data/followers_leaders.csv +10 -10
  399. teradataml/data/fpgrowth_example.json +12 -12
  400. teradataml/data/frequentpaths_example.json +29 -29
  401. teradataml/data/friends.csv +9 -9
  402. teradataml/data/fs_input.csv +33 -33
  403. teradataml/data/fs_input1.csv +33 -33
  404. teradataml/data/genData.csv +513 -513
  405. teradataml/data/geodataframe_example.json +39 -39
  406. teradataml/data/glass_types.csv +215 -0
  407. teradataml/data/glm_admissions_model.csv +12 -12
  408. teradataml/data/glm_example.json +56 -29
  409. teradataml/data/glml1l2_example.json +28 -28
  410. teradataml/data/glml1l2predict_example.json +54 -54
  411. teradataml/data/glmpredict_example.json +54 -54
  412. teradataml/data/gq_t1.csv +21 -21
  413. teradataml/data/hconvolve_complex_right.csv +5 -5
  414. teradataml/data/hconvolve_complex_rightmulti.csv +5 -5
  415. teradataml/data/histogram_example.json +11 -11
  416. teradataml/data/hmmdecoder_example.json +78 -78
  417. teradataml/data/hmmevaluator_example.json +24 -24
  418. teradataml/data/hmmsupervised_example.json +10 -10
  419. teradataml/data/hmmunsupervised_example.json +7 -7
  420. teradataml/data/house_values.csv +12 -12
  421. teradataml/data/house_values2.csv +13 -13
  422. teradataml/data/housing_cat.csv +7 -7
  423. teradataml/data/housing_data.csv +9 -9
  424. teradataml/data/housing_test.csv +47 -47
  425. teradataml/data/housing_test_binary.csv +47 -47
  426. teradataml/data/housing_train.csv +493 -493
  427. teradataml/data/housing_train_attribute.csv +4 -4
  428. teradataml/data/housing_train_binary.csv +437 -437
  429. teradataml/data/housing_train_parameter.csv +2 -2
  430. teradataml/data/housing_train_response.csv +493 -493
  431. teradataml/data/housing_train_segment.csv +201 -0
  432. teradataml/data/ibm_stock.csv +370 -370
  433. teradataml/data/ibm_stock1.csv +370 -370
  434. teradataml/data/identitymatch_example.json +21 -21
  435. teradataml/data/idf_table.csv +4 -4
  436. teradataml/data/impressions.csv +101 -101
  437. teradataml/data/inflation.csv +21 -21
  438. teradataml/data/initial.csv +3 -3
  439. teradataml/data/insect2Cols.csv +61 -0
  440. teradataml/data/insect_sprays.csv +12 -12
  441. teradataml/data/insurance.csv +1339 -1339
  442. teradataml/data/interpolator_example.json +12 -12
  443. teradataml/data/iris_altinput.csv +481 -481
  444. teradataml/data/iris_attribute_output.csv +8 -8
  445. teradataml/data/iris_attribute_test.csv +121 -121
  446. teradataml/data/iris_attribute_train.csv +481 -481
  447. teradataml/data/iris_category_expect_predict.csv +31 -31
  448. teradataml/data/iris_data.csv +151 -0
  449. teradataml/data/iris_input.csv +151 -151
  450. teradataml/data/iris_response_train.csv +121 -121
  451. teradataml/data/iris_test.csv +31 -31
  452. teradataml/data/iris_train.csv +121 -121
  453. teradataml/data/join_table1.csv +4 -4
  454. teradataml/data/join_table2.csv +4 -4
  455. teradataml/data/jsons/anly_function_name.json +6 -6
  456. teradataml/data/jsons/byom/dataikupredict.json +147 -147
  457. teradataml/data/jsons/byom/datarobotpredict.json +146 -146
  458. teradataml/data/jsons/byom/h2opredict.json +194 -194
  459. teradataml/data/jsons/byom/onnxpredict.json +186 -186
  460. teradataml/data/jsons/byom/pmmlpredict.json +146 -146
  461. teradataml/data/jsons/paired_functions.json +435 -435
  462. teradataml/data/jsons/sqle/16.20/Antiselect.json +56 -56
  463. teradataml/data/jsons/sqle/16.20/Attribution.json +249 -249
  464. teradataml/data/jsons/sqle/16.20/DecisionForestPredict.json +156 -156
  465. teradataml/data/jsons/sqle/16.20/DecisionTreePredict.json +170 -170
  466. teradataml/data/jsons/sqle/16.20/GLMPredict.json +122 -122
  467. teradataml/data/jsons/sqle/16.20/MovingAverage.json +367 -367
  468. teradataml/data/jsons/sqle/16.20/NGramSplitter.json +239 -239
  469. teradataml/data/jsons/sqle/16.20/NaiveBayesPredict.json +136 -136
  470. teradataml/data/jsons/sqle/16.20/NaiveBayesTextClassifierPredict.json +235 -235
  471. teradataml/data/jsons/sqle/16.20/Pack.json +98 -98
  472. teradataml/data/jsons/sqle/16.20/SVMSparsePredict.json +162 -162
  473. teradataml/data/jsons/sqle/16.20/Sessionize.json +105 -105
  474. teradataml/data/jsons/sqle/16.20/StringSimilarity.json +86 -86
  475. teradataml/data/jsons/sqle/16.20/Unpack.json +166 -166
  476. teradataml/data/jsons/sqle/16.20/nPath.json +269 -269
  477. teradataml/data/jsons/sqle/17.00/Antiselect.json +56 -56
  478. teradataml/data/jsons/sqle/17.00/Attribution.json +249 -249
  479. teradataml/data/jsons/sqle/17.00/DecisionForestPredict.json +156 -156
  480. teradataml/data/jsons/sqle/17.00/DecisionTreePredict.json +170 -170
  481. teradataml/data/jsons/sqle/17.00/GLMPredict.json +122 -122
  482. teradataml/data/jsons/sqle/17.00/MovingAverage.json +367 -367
  483. teradataml/data/jsons/sqle/17.00/NGramSplitter.json +239 -239
  484. teradataml/data/jsons/sqle/17.00/NaiveBayesPredict.json +136 -136
  485. teradataml/data/jsons/sqle/17.00/NaiveBayesTextClassifierPredict.json +235 -235
  486. teradataml/data/jsons/sqle/17.00/Pack.json +98 -98
  487. teradataml/data/jsons/sqle/17.00/SVMSparsePredict.json +162 -162
  488. teradataml/data/jsons/sqle/17.00/Sessionize.json +105 -105
  489. teradataml/data/jsons/sqle/17.00/StringSimilarity.json +86 -86
  490. teradataml/data/jsons/sqle/17.00/Unpack.json +166 -166
  491. teradataml/data/jsons/sqle/17.00/nPath.json +269 -269
  492. teradataml/data/jsons/sqle/17.05/Antiselect.json +56 -56
  493. teradataml/data/jsons/sqle/17.05/Attribution.json +249 -249
  494. teradataml/data/jsons/sqle/17.05/DecisionForestPredict.json +156 -156
  495. teradataml/data/jsons/sqle/17.05/DecisionTreePredict.json +170 -170
  496. teradataml/data/jsons/sqle/17.05/GLMPredict.json +122 -122
  497. teradataml/data/jsons/sqle/17.05/MovingAverage.json +367 -367
  498. teradataml/data/jsons/sqle/17.05/NGramSplitter.json +239 -239
  499. teradataml/data/jsons/sqle/17.05/NaiveBayesPredict.json +136 -136
  500. teradataml/data/jsons/sqle/17.05/NaiveBayesTextClassifierPredict.json +235 -235
  501. teradataml/data/jsons/sqle/17.05/Pack.json +98 -98
  502. teradataml/data/jsons/sqle/17.05/SVMSparsePredict.json +162 -162
  503. teradataml/data/jsons/sqle/17.05/Sessionize.json +105 -105
  504. teradataml/data/jsons/sqle/17.05/StringSimilarity.json +86 -86
  505. teradataml/data/jsons/sqle/17.05/Unpack.json +166 -166
  506. teradataml/data/jsons/sqle/17.05/nPath.json +269 -269
  507. teradataml/data/jsons/sqle/17.10/Antiselect.json +56 -56
  508. teradataml/data/jsons/sqle/17.10/Attribution.json +249 -249
  509. teradataml/data/jsons/sqle/17.10/DecisionForestPredict.json +185 -185
  510. teradataml/data/jsons/sqle/17.10/DecisionTreePredict.json +171 -171
  511. teradataml/data/jsons/sqle/17.10/GLMPredict.json +151 -151
  512. teradataml/data/jsons/sqle/17.10/MovingAverage.json +368 -368
  513. teradataml/data/jsons/sqle/17.10/NGramSplitter.json +239 -239
  514. teradataml/data/jsons/sqle/17.10/NaiveBayesPredict.json +149 -149
  515. teradataml/data/jsons/sqle/17.10/NaiveBayesTextClassifierPredict.json +288 -288
  516. teradataml/data/jsons/sqle/17.10/Pack.json +133 -133
  517. teradataml/data/jsons/sqle/17.10/SVMSparsePredict.json +193 -193
  518. teradataml/data/jsons/sqle/17.10/Sessionize.json +105 -105
  519. teradataml/data/jsons/sqle/17.10/StringSimilarity.json +86 -86
  520. teradataml/data/jsons/sqle/17.10/TD_BinCodeFit.json +239 -239
  521. teradataml/data/jsons/sqle/17.10/TD_BinCodeTransform.json +70 -70
  522. teradataml/data/jsons/sqle/17.10/TD_CategoricalSummary.json +53 -53
  523. teradataml/data/jsons/sqle/17.10/TD_Chisq.json +67 -67
  524. teradataml/data/jsons/sqle/17.10/TD_ColumnSummary.json +53 -53
  525. teradataml/data/jsons/sqle/17.10/TD_ConvertTo.json +68 -68
  526. teradataml/data/jsons/sqle/17.10/TD_FTest.json +187 -187
  527. teradataml/data/jsons/sqle/17.10/TD_FillRowID.json +51 -51
  528. teradataml/data/jsons/sqle/17.10/TD_FunctionFit.json +46 -46
  529. teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +72 -71
  530. teradataml/data/jsons/sqle/17.10/TD_GetRowsWithMissingValues.json +52 -52
  531. teradataml/data/jsons/sqle/17.10/TD_GetRowsWithoutMissingValues.json +52 -52
  532. teradataml/data/jsons/sqle/17.10/TD_Histogram.json +132 -132
  533. teradataml/data/jsons/sqle/17.10/TD_NumApply.json +147 -147
  534. teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingFit.json +182 -182
  535. teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +65 -64
  536. teradataml/data/jsons/sqle/17.10/TD_OutlierFilterFit.json +196 -196
  537. teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +48 -47
  538. teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesFit.json +114 -114
  539. teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +72 -71
  540. teradataml/data/jsons/sqle/17.10/TD_QQNorm.json +111 -111
  541. teradataml/data/jsons/sqle/17.10/TD_RoundColumns.json +93 -93
  542. teradataml/data/jsons/sqle/17.10/TD_RowNormalizeFit.json +127 -127
  543. teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +70 -69
  544. teradataml/data/jsons/sqle/17.10/TD_ScaleFit.json +156 -156
  545. teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +70 -69
  546. teradataml/data/jsons/sqle/17.10/TD_SimpleImputeFit.json +147 -147
  547. teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +48 -47
  548. teradataml/data/jsons/sqle/17.10/TD_StrApply.json +240 -240
  549. teradataml/data/jsons/sqle/17.10/TD_UnivariateStatistics.json +118 -118
  550. teradataml/data/jsons/sqle/17.10/TD_WhichMax.json +52 -52
  551. teradataml/data/jsons/sqle/17.10/TD_WhichMin.json +52 -52
  552. teradataml/data/jsons/sqle/17.10/TD_ZTest.json +171 -171
  553. teradataml/data/jsons/sqle/17.10/Unpack.json +188 -188
  554. teradataml/data/jsons/sqle/17.10/nPath.json +269 -269
  555. teradataml/data/jsons/sqle/17.20/Antiselect.json +56 -56
  556. teradataml/data/jsons/sqle/17.20/Attribution.json +249 -249
  557. teradataml/data/jsons/sqle/17.20/DecisionForestPredict.json +185 -185
  558. teradataml/data/jsons/sqle/17.20/DecisionTreePredict.json +172 -172
  559. teradataml/data/jsons/sqle/17.20/GLMPredict.json +151 -151
  560. teradataml/data/jsons/sqle/17.20/MovingAverage.json +367 -367
  561. teradataml/data/jsons/sqle/17.20/NGramSplitter.json +239 -239
  562. teradataml/data/jsons/sqle/17.20/NaiveBayesPredict.json +149 -149
  563. teradataml/data/jsons/sqle/17.20/NaiveBayesTextClassifierPredict.json +287 -287
  564. teradataml/data/jsons/sqle/17.20/Pack.json +133 -133
  565. teradataml/data/jsons/sqle/17.20/SVMSparsePredict.json +192 -192
  566. teradataml/data/jsons/sqle/17.20/Sessionize.json +105 -105
  567. teradataml/data/jsons/sqle/17.20/StringSimilarity.json +86 -86
  568. teradataml/data/jsons/sqle/17.20/TD_ANOVA.json +148 -76
  569. teradataml/data/jsons/sqle/17.20/TD_BinCodeFit.json +239 -239
  570. teradataml/data/jsons/sqle/17.20/TD_BinCodeTransform.json +71 -71
  571. teradataml/data/jsons/sqle/17.20/TD_CategoricalSummary.json +53 -53
  572. teradataml/data/jsons/sqle/17.20/TD_Chisq.json +67 -67
  573. teradataml/data/jsons/sqle/17.20/TD_ClassificationEvaluator.json +145 -145
  574. teradataml/data/jsons/sqle/17.20/TD_ColumnSummary.json +53 -53
  575. teradataml/data/jsons/sqle/17.20/TD_ColumnTransformer.json +218 -218
  576. teradataml/data/jsons/sqle/17.20/TD_ConvertTo.json +92 -92
  577. teradataml/data/jsons/sqle/17.20/TD_DecisionForest.json +259 -259
  578. teradataml/data/jsons/sqle/17.20/TD_DecisionForestPredict.json +139 -139
  579. teradataml/data/jsons/sqle/17.20/TD_FTest.json +269 -186
  580. teradataml/data/jsons/sqle/17.20/TD_FillRowID.json +52 -52
  581. teradataml/data/jsons/sqle/17.20/TD_FunctionFit.json +46 -46
  582. teradataml/data/jsons/sqle/17.20/TD_FunctionTransform.json +72 -72
  583. teradataml/data/jsons/sqle/17.20/TD_GLM.json +507 -431
  584. teradataml/data/jsons/sqle/17.20/TD_GLMPREDICT.json +168 -125
  585. teradataml/data/jsons/sqle/17.20/TD_GLMPerSegment.json +411 -411
  586. teradataml/data/jsons/sqle/17.20/TD_GLMPredictPerSegment.json +146 -146
  587. teradataml/data/jsons/sqle/17.20/TD_GetFutileColumns.json +93 -91
  588. teradataml/data/jsons/sqle/17.20/TD_GetRowsWithMissingValues.json +76 -76
  589. teradataml/data/jsons/sqle/17.20/TD_GetRowsWithoutMissingValues.json +76 -76
  590. teradataml/data/jsons/sqle/17.20/TD_Histogram.json +152 -152
  591. teradataml/data/jsons/sqle/17.20/TD_KMeans.json +231 -211
  592. teradataml/data/jsons/sqle/17.20/TD_KMeansPredict.json +86 -86
  593. teradataml/data/jsons/sqle/17.20/TD_KNN.json +262 -262
  594. teradataml/data/jsons/sqle/17.20/TD_NaiveBayesTextClassifierTrainer.json +137 -137
  595. teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineFit.json +102 -101
  596. teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineTransform.json +71 -71
  597. teradataml/data/jsons/sqle/17.20/TD_NumApply.json +147 -147
  598. teradataml/data/jsons/sqle/17.20/TD_OneClassSVM.json +315 -315
  599. teradataml/data/jsons/sqle/17.20/TD_OneClassSVMPredict.json +123 -123
  600. teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingFit.json +271 -271
  601. teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingTransform.json +65 -65
  602. teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingFit.json +229 -229
  603. teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingTransform.json +75 -75
  604. teradataml/data/jsons/sqle/17.20/TD_OutlierFilterFit.json +217 -217
  605. teradataml/data/jsons/sqle/17.20/TD_OutlierFilterTransform.json +48 -48
  606. teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesFit.json +114 -114
  607. teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesTransform.json +72 -72
  608. teradataml/data/jsons/sqle/17.20/TD_QQNorm.json +111 -111
  609. teradataml/data/jsons/sqle/17.20/TD_ROC.json +178 -177
  610. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionFit.json +178 -178
  611. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionMinComponents.json +73 -73
  612. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionTransform.json +74 -74
  613. teradataml/data/jsons/sqle/17.20/TD_RegressionEvaluator.json +137 -137
  614. teradataml/data/jsons/sqle/17.20/TD_RoundColumns.json +93 -93
  615. teradataml/data/jsons/sqle/17.20/TD_RowNormalizeFit.json +127 -127
  616. teradataml/data/jsons/sqle/17.20/TD_RowNormalizeTransform.json +70 -70
  617. teradataml/data/jsons/sqle/17.20/TD_SVM.json +389 -389
  618. teradataml/data/jsons/sqle/17.20/TD_SVMPredict.json +142 -124
  619. teradataml/data/jsons/sqle/17.20/TD_ScaleFit.json +309 -156
  620. teradataml/data/jsons/sqle/17.20/TD_ScaleTransform.json +119 -70
  621. teradataml/data/jsons/sqle/17.20/TD_SentimentExtractor.json +193 -193
  622. teradataml/data/jsons/sqle/17.20/TD_Silhouette.json +142 -142
  623. teradataml/data/jsons/sqle/17.20/TD_SimpleImputeFit.json +147 -147
  624. teradataml/data/jsons/sqle/17.20/TD_SimpleImputeTransform.json +48 -48
  625. teradataml/data/jsons/sqle/17.20/TD_StrApply.json +240 -240
  626. teradataml/data/jsons/sqle/17.20/TD_TargetEncodingFit.json +248 -248
  627. teradataml/data/jsons/sqle/17.20/TD_TargetEncodingTransform.json +75 -75
  628. teradataml/data/jsons/sqle/17.20/TD_TextParser.json +192 -192
  629. teradataml/data/jsons/sqle/17.20/TD_TrainTestSplit.json +142 -142
  630. teradataml/data/jsons/sqle/17.20/TD_UnivariateStatistics.json +117 -117
  631. teradataml/data/jsons/sqle/17.20/TD_VectorDistance.json +182 -182
  632. teradataml/data/jsons/sqle/17.20/TD_WhichMax.json +52 -52
  633. teradataml/data/jsons/sqle/17.20/TD_WhichMin.json +52 -52
  634. teradataml/data/jsons/sqle/17.20/TD_WordEmbeddings.json +241 -241
  635. teradataml/data/jsons/sqle/17.20/TD_XGBoost.json +330 -312
  636. teradataml/data/jsons/sqle/17.20/TD_XGBoostPredict.json +195 -182
  637. teradataml/data/jsons/sqle/17.20/TD_ZTest.json +247 -170
  638. teradataml/data/jsons/sqle/17.20/Unpack.json +188 -188
  639. teradataml/data/jsons/sqle/17.20/nPath.json +269 -269
  640. teradataml/data/jsons/tableoperator/17.00/read_nos.json +197 -197
  641. teradataml/data/jsons/tableoperator/17.05/read_nos.json +197 -197
  642. teradataml/data/jsons/tableoperator/17.05/write_nos.json +194 -194
  643. teradataml/data/jsons/tableoperator/17.10/read_nos.json +183 -183
  644. teradataml/data/jsons/tableoperator/17.10/write_nos.json +194 -194
  645. teradataml/data/jsons/tableoperator/17.20/read_nos.json +182 -182
  646. teradataml/data/jsons/tableoperator/17.20/write_nos.json +223 -223
  647. teradataml/data/jsons/uaf/17.20/TD_ACF.json +149 -149
  648. teradataml/data/jsons/uaf/17.20/TD_ARIMAESTIMATE.json +409 -409
  649. teradataml/data/jsons/uaf/17.20/TD_ARIMAFORECAST.json +79 -79
  650. teradataml/data/jsons/uaf/17.20/TD_ARIMAVALIDATE.json +151 -151
  651. teradataml/data/jsons/uaf/17.20/TD_BINARYMATRIXOP.json +109 -109
  652. teradataml/data/jsons/uaf/17.20/TD_BINARYSERIESOP.json +107 -107
  653. teradataml/data/jsons/uaf/17.20/TD_BREUSCH_GODFREY.json +87 -87
  654. teradataml/data/jsons/uaf/17.20/TD_BREUSCH_PAGAN_GODFREY.json +106 -106
  655. teradataml/data/jsons/uaf/17.20/TD_CONVOLVE.json +80 -80
  656. teradataml/data/jsons/uaf/17.20/TD_CONVOLVE2.json +67 -67
  657. teradataml/data/jsons/uaf/17.20/TD_CUMUL_PERIODOGRAM.json +91 -91
  658. teradataml/data/jsons/uaf/17.20/TD_DFFT.json +136 -136
  659. teradataml/data/jsons/uaf/17.20/TD_DFFT2.json +148 -148
  660. teradataml/data/jsons/uaf/17.20/TD_DFFT2CONV.json +108 -108
  661. teradataml/data/jsons/uaf/17.20/TD_DFFTCONV.json +109 -109
  662. teradataml/data/jsons/uaf/17.20/TD_DICKEY_FULLER.json +86 -86
  663. teradataml/data/jsons/uaf/17.20/TD_DIFF.json +91 -91
  664. teradataml/data/jsons/uaf/17.20/TD_DTW.json +116 -116
  665. teradataml/data/jsons/uaf/17.20/TD_DURBIN_WATSON.json +100 -100
  666. teradataml/data/jsons/uaf/17.20/TD_EXTRACT_RESULTS.json +38 -38
  667. teradataml/data/jsons/uaf/17.20/TD_FITMETRICS.json +100 -100
  668. teradataml/data/jsons/uaf/17.20/TD_GENSERIES4FORMULA.json +84 -84
  669. teradataml/data/jsons/uaf/17.20/TD_GENSERIES4SINUSOIDS.json +70 -70
  670. teradataml/data/jsons/uaf/17.20/TD_GOLDFELD_QUANDT.json +152 -152
  671. teradataml/data/jsons/uaf/17.20/TD_HOLT_WINTERS_FORECAST.json +313 -313
  672. teradataml/data/jsons/uaf/17.20/TD_IDFFT.json +57 -57
  673. teradataml/data/jsons/uaf/17.20/TD_IDFFT2.json +94 -94
  674. teradataml/data/jsons/uaf/17.20/TD_INPUTVALIDATOR.json +63 -63
  675. teradataml/data/jsons/uaf/17.20/TD_LINEAR_REGR.json +181 -181
  676. teradataml/data/jsons/uaf/17.20/TD_LINESPEC.json +102 -102
  677. teradataml/data/jsons/uaf/17.20/TD_MAMEAN.json +182 -182
  678. teradataml/data/jsons/uaf/17.20/TD_MATRIXMULTIPLY.json +67 -67
  679. teradataml/data/jsons/uaf/17.20/TD_MINFO.json +66 -66
  680. teradataml/data/jsons/uaf/17.20/TD_MULTIVAR_REGR.json +178 -178
  681. teradataml/data/jsons/uaf/17.20/TD_PACF.json +114 -114
  682. teradataml/data/jsons/uaf/17.20/TD_PORTMAN.json +118 -118
  683. teradataml/data/jsons/uaf/17.20/TD_POWERSPEC.json +175 -175
  684. teradataml/data/jsons/uaf/17.20/TD_POWERTRANSFORM.json +97 -97
  685. teradataml/data/jsons/uaf/17.20/TD_RESAMPLE.json +173 -173
  686. teradataml/data/jsons/uaf/17.20/TD_SEASONALNORMALIZE.json +136 -136
  687. teradataml/data/jsons/uaf/17.20/TD_SELECTION_CRITERIA.json +89 -89
  688. teradataml/data/jsons/uaf/17.20/TD_SIGNIF_PERIODICITIES.json +79 -79
  689. teradataml/data/jsons/uaf/17.20/TD_SIGNIF_RESIDMEAN.json +67 -67
  690. teradataml/data/jsons/uaf/17.20/TD_SIMPLEEXP.json +184 -184
  691. teradataml/data/jsons/uaf/17.20/TD_SINFO.json +57 -57
  692. teradataml/data/jsons/uaf/17.20/TD_SMOOTHMA.json +162 -162
  693. teradataml/data/jsons/uaf/17.20/TD_TRACKINGOP.json +100 -100
  694. teradataml/data/jsons/uaf/17.20/TD_UNDIFF.json +111 -111
  695. teradataml/data/jsons/uaf/17.20/TD_UNNORMALIZE.json +95 -95
  696. teradataml/data/jsons/uaf/17.20/TD_WHITES_GENERAL.json +77 -77
  697. teradataml/data/kmeans_example.json +22 -17
  698. teradataml/data/kmeans_table.csv +10 -0
  699. teradataml/data/kmeans_us_arrests_data.csv +0 -0
  700. teradataml/data/knn_example.json +18 -18
  701. teradataml/data/knnrecommender_example.json +6 -6
  702. teradataml/data/knnrecommenderpredict_example.json +12 -12
  703. teradataml/data/lar_example.json +17 -17
  704. teradataml/data/larpredict_example.json +30 -30
  705. teradataml/data/lc_new_predictors.csv +5 -5
  706. teradataml/data/lc_new_reference.csv +9 -9
  707. teradataml/data/lda_example.json +8 -8
  708. teradataml/data/ldainference_example.json +14 -14
  709. teradataml/data/ldatopicsummary_example.json +8 -8
  710. teradataml/data/levendist_input.csv +13 -13
  711. teradataml/data/levenshteindistance_example.json +10 -10
  712. teradataml/data/linreg_example.json +9 -9
  713. teradataml/data/load_example_data.py +326 -323
  714. teradataml/data/loan_prediction.csv +295 -295
  715. teradataml/data/lungcancer.csv +138 -138
  716. teradataml/data/mappingdata.csv +12 -12
  717. teradataml/data/milk_timeseries.csv +157 -157
  718. teradataml/data/min_max_titanic.csv +4 -4
  719. teradataml/data/minhash_example.json +6 -6
  720. teradataml/data/ml_ratings.csv +7547 -7547
  721. teradataml/data/ml_ratings_10.csv +2445 -2445
  722. teradataml/data/model1_table.csv +5 -5
  723. teradataml/data/model2_table.csv +5 -5
  724. teradataml/data/models/iris_db_glm_model.pmml +56 -56
  725. teradataml/data/models/iris_db_xgb_model.pmml +4471 -4471
  726. teradataml/data/modularity_example.json +12 -12
  727. teradataml/data/movavg_example.json +7 -7
  728. teradataml/data/mtx1.csv +7 -7
  729. teradataml/data/mtx2.csv +13 -13
  730. teradataml/data/multi_model_classification.csv +401 -0
  731. teradataml/data/multi_model_regression.csv +401 -0
  732. teradataml/data/mvdfft8.csv +9 -9
  733. teradataml/data/naivebayes_example.json +9 -9
  734. teradataml/data/naivebayespredict_example.json +19 -19
  735. teradataml/data/naivebayestextclassifier2_example.json +6 -6
  736. teradataml/data/naivebayestextclassifier_example.json +8 -8
  737. teradataml/data/naivebayestextclassifierpredict_example.json +20 -20
  738. teradataml/data/name_Find_configure.csv +10 -10
  739. teradataml/data/namedentityfinder_example.json +14 -14
  740. teradataml/data/namedentityfinderevaluator_example.json +10 -10
  741. teradataml/data/namedentityfindertrainer_example.json +6 -6
  742. teradataml/data/nb_iris_input_test.csv +31 -31
  743. teradataml/data/nb_iris_input_train.csv +121 -121
  744. teradataml/data/nbp_iris_model.csv +13 -13
  745. teradataml/data/ner_extractor_text.csv +2 -2
  746. teradataml/data/ner_sports_test2.csv +29 -29
  747. teradataml/data/ner_sports_train.csv +501 -501
  748. teradataml/data/nerevaluator_example.json +5 -5
  749. teradataml/data/nerextractor_example.json +18 -18
  750. teradataml/data/nermem_sports_test.csv +17 -17
  751. teradataml/data/nermem_sports_train.csv +50 -50
  752. teradataml/data/nertrainer_example.json +6 -6
  753. teradataml/data/ngrams_example.json +6 -6
  754. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Aggregate Functions using SQLAlchemy.ipynb +1455 -1455
  755. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Arithmetic Functions Using SQLAlchemy.ipynb +1993 -1993
  756. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Bit-Byte Manipulation Functions using SQLAlchemy.ipynb +1492 -1492
  757. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Built-in functions using SQLAlchemy.ipynb +536 -536
  758. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Regular Expressions Using SQLAlchemy.ipynb +570 -570
  759. teradataml/data/notebooks/sqlalchemy/Teradata Vantage String Functions Using SQLAlchemy.ipynb +2559 -2559
  760. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Window Aggregate Functions using SQLAlchemy.ipynb +2911 -2911
  761. teradataml/data/notebooks/sqlalchemy/Using Generic SQLAlchemy ClauseElements teradataml DataFrame assign method.ipynb +698 -698
  762. teradataml/data/notebooks/sqlalchemy/teradataml filtering using SQLAlchemy ClauseElements.ipynb +784 -784
  763. teradataml/data/npath_example.json +23 -23
  764. teradataml/data/ntree_example.json +14 -14
  765. teradataml/data/numeric_strings.csv +4 -4
  766. teradataml/data/numerics.csv +4 -4
  767. teradataml/data/ocean_buoy.csv +17 -17
  768. teradataml/data/ocean_buoy2.csv +17 -17
  769. teradataml/data/ocean_buoys.csv +27 -27
  770. teradataml/data/ocean_buoys2.csv +10 -10
  771. teradataml/data/ocean_buoys_nonpti.csv +28 -28
  772. teradataml/data/ocean_buoys_seq.csv +29 -29
  773. teradataml/data/onehot_encoder_train.csv +4 -0
  774. teradataml/data/openml_example.json +92 -0
  775. teradataml/data/optional_event_table.csv +4 -4
  776. teradataml/data/orders1.csv +11 -11
  777. teradataml/data/orders1_12.csv +12 -12
  778. teradataml/data/orders_ex.csv +4 -4
  779. teradataml/data/pack_example.json +8 -8
  780. teradataml/data/package_tracking.csv +19 -19
  781. teradataml/data/package_tracking_pti.csv +18 -18
  782. teradataml/data/pagerank_example.json +13 -13
  783. teradataml/data/paragraphs_input.csv +6 -6
  784. teradataml/data/pathanalyzer_example.json +7 -7
  785. teradataml/data/pathgenerator_example.json +7 -7
  786. teradataml/data/phrases.csv +7 -7
  787. teradataml/data/pivot_example.json +8 -8
  788. teradataml/data/pivot_input.csv +22 -22
  789. teradataml/data/playerRating.csv +31 -31
  790. teradataml/data/postagger_example.json +6 -6
  791. teradataml/data/posttagger_output.csv +44 -44
  792. teradataml/data/production_data.csv +16 -16
  793. teradataml/data/production_data2.csv +7 -7
  794. teradataml/data/randomsample_example.json +31 -31
  795. teradataml/data/randomwalksample_example.json +8 -8
  796. teradataml/data/rank_table.csv +6 -6
  797. teradataml/data/ref_mobile_data.csv +4 -4
  798. teradataml/data/ref_mobile_data_dense.csv +2 -2
  799. teradataml/data/ref_url.csv +17 -17
  800. teradataml/data/restaurant_reviews.csv +7 -7
  801. teradataml/data/river_data.csv +145 -145
  802. teradataml/data/roc_example.json +7 -7
  803. teradataml/data/roc_input.csv +101 -101
  804. teradataml/data/rule_inputs.csv +6 -6
  805. teradataml/data/rule_table.csv +2 -2
  806. teradataml/data/sales.csv +7 -7
  807. teradataml/data/sales_transaction.csv +501 -501
  808. teradataml/data/salesdata.csv +342 -342
  809. teradataml/data/sample_cities.csv +2 -2
  810. teradataml/data/sample_shapes.csv +10 -10
  811. teradataml/data/sample_streets.csv +2 -2
  812. teradataml/data/sampling_example.json +15 -15
  813. teradataml/data/sax_example.json +8 -8
  814. teradataml/data/scale_attributes.csv +3 -0
  815. teradataml/data/scale_example.json +74 -23
  816. teradataml/data/scale_housing.csv +11 -11
  817. teradataml/data/scale_housing_test.csv +6 -6
  818. teradataml/data/scale_input_part_sparse.csv +31 -0
  819. teradataml/data/scale_input_partitioned.csv +16 -0
  820. teradataml/data/scale_input_sparse.csv +11 -0
  821. teradataml/data/scale_parameters.csv +3 -0
  822. teradataml/data/scale_stat.csv +11 -11
  823. teradataml/data/scalebypartition_example.json +13 -13
  824. teradataml/data/scalemap_example.json +13 -13
  825. teradataml/data/scalesummary_example.json +12 -12
  826. teradataml/data/score_category.csv +101 -101
  827. teradataml/data/score_summary.csv +4 -4
  828. teradataml/data/script_example.json +9 -9
  829. teradataml/data/scripts/deploy_script.py +84 -0
  830. teradataml/data/scripts/mapper.R +20 -0
  831. teradataml/data/scripts/mapper.py +15 -15
  832. teradataml/data/scripts/mapper_replace.py +15 -15
  833. teradataml/data/scripts/sklearn/__init__.py +0 -0
  834. teradataml/data/scripts/sklearn/sklearn_fit.py +171 -0
  835. teradataml/data/scripts/sklearn/sklearn_fit_predict.py +127 -0
  836. teradataml/data/scripts/sklearn/sklearn_function.template +108 -0
  837. teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +148 -0
  838. teradataml/data/scripts/sklearn/sklearn_neighbors.py +143 -0
  839. teradataml/data/scripts/sklearn/sklearn_score.py +119 -0
  840. teradataml/data/scripts/sklearn/sklearn_transform.py +171 -0
  841. teradataml/data/seeds.csv +10 -10
  842. teradataml/data/sentenceextractor_example.json +6 -6
  843. teradataml/data/sentiment_extract_input.csv +11 -11
  844. teradataml/data/sentiment_train.csv +16 -16
  845. teradataml/data/sentiment_word.csv +20 -20
  846. teradataml/data/sentiment_word_input.csv +19 -19
  847. teradataml/data/sentimentextractor_example.json +24 -24
  848. teradataml/data/sentimenttrainer_example.json +8 -8
  849. teradataml/data/sequence_table.csv +10 -10
  850. teradataml/data/seriessplitter_example.json +7 -7
  851. teradataml/data/sessionize_example.json +17 -17
  852. teradataml/data/sessionize_table.csv +116 -116
  853. teradataml/data/setop_test1.csv +24 -24
  854. teradataml/data/setop_test2.csv +22 -22
  855. teradataml/data/soc_nw_edges.csv +10 -10
  856. teradataml/data/soc_nw_vertices.csv +7 -7
  857. teradataml/data/souvenir_timeseries.csv +167 -167
  858. teradataml/data/sparse_iris_attribute.csv +5 -5
  859. teradataml/data/sparse_iris_test.csv +121 -121
  860. teradataml/data/sparse_iris_train.csv +601 -601
  861. teradataml/data/star1.csv +6 -6
  862. teradataml/data/state_transition.csv +5 -5
  863. teradataml/data/stock_data.csv +53 -53
  864. teradataml/data/stock_movement.csv +11 -11
  865. teradataml/data/stock_vol.csv +76 -76
  866. teradataml/data/stop_words.csv +8 -8
  867. teradataml/data/store_sales.csv +37 -37
  868. teradataml/data/stringsimilarity_example.json +7 -7
  869. teradataml/data/strsimilarity_input.csv +13 -13
  870. teradataml/data/students.csv +101 -101
  871. teradataml/data/svm_iris_input_test.csv +121 -121
  872. teradataml/data/svm_iris_input_train.csv +481 -481
  873. teradataml/data/svm_iris_model.csv +7 -7
  874. teradataml/data/svmdense_example.json +9 -9
  875. teradataml/data/svmdensepredict_example.json +18 -18
  876. teradataml/data/svmsparse_example.json +7 -7
  877. teradataml/data/svmsparsepredict_example.json +13 -13
  878. teradataml/data/svmsparsesummary_example.json +7 -7
  879. teradataml/data/target_mobile_data.csv +13 -13
  880. teradataml/data/target_mobile_data_dense.csv +5 -5
  881. teradataml/data/templatedata.csv +1201 -1201
  882. teradataml/data/templates/open_source_ml.json +9 -0
  883. teradataml/data/teradataml_example.json +150 -1
  884. teradataml/data/test_classification.csv +101 -0
  885. teradataml/data/test_loan_prediction.csv +53 -53
  886. teradataml/data/test_pacf_12.csv +37 -37
  887. teradataml/data/test_prediction.csv +101 -0
  888. teradataml/data/test_regression.csv +101 -0
  889. teradataml/data/test_river2.csv +109 -109
  890. teradataml/data/text_inputs.csv +6 -6
  891. teradataml/data/textchunker_example.json +7 -7
  892. teradataml/data/textclassifier_example.json +6 -6
  893. teradataml/data/textclassifier_input.csv +7 -7
  894. teradataml/data/textclassifiertrainer_example.json +6 -6
  895. teradataml/data/textmorph_example.json +5 -5
  896. teradataml/data/textparser_example.json +15 -15
  897. teradataml/data/texttagger_example.json +11 -11
  898. teradataml/data/texttokenizer_example.json +6 -6
  899. teradataml/data/texttrainer_input.csv +11 -11
  900. teradataml/data/tf_example.json +6 -6
  901. teradataml/data/tfidf_example.json +13 -13
  902. teradataml/data/tfidf_input1.csv +201 -201
  903. teradataml/data/tfidf_train.csv +6 -6
  904. teradataml/data/time_table1.csv +535 -535
  905. teradataml/data/time_table2.csv +14 -14
  906. teradataml/data/timeseriesdata.csv +1601 -1601
  907. teradataml/data/timeseriesdatasetsd4.csv +105 -105
  908. teradataml/data/titanic.csv +892 -892
  909. teradataml/data/token_table.csv +696 -696
  910. teradataml/data/train_multiclass.csv +101 -0
  911. teradataml/data/train_regression.csv +101 -0
  912. teradataml/data/train_regression_multiple_labels.csv +101 -0
  913. teradataml/data/train_tracking.csv +27 -27
  914. teradataml/data/transformation_table.csv +5 -5
  915. teradataml/data/transformation_table_new.csv +1 -1
  916. teradataml/data/tv_spots.csv +16 -16
  917. teradataml/data/twod_climate_data.csv +117 -117
  918. teradataml/data/uaf_example.json +475 -475
  919. teradataml/data/univariatestatistics_example.json +8 -8
  920. teradataml/data/unpack_example.json +9 -9
  921. teradataml/data/unpivot_example.json +9 -9
  922. teradataml/data/unpivot_input.csv +8 -8
  923. teradataml/data/us_air_pass.csv +36 -36
  924. teradataml/data/us_population.csv +624 -624
  925. teradataml/data/us_states_shapes.csv +52 -52
  926. teradataml/data/varmax_example.json +17 -17
  927. teradataml/data/vectordistance_example.json +25 -25
  928. teradataml/data/ville_climatedata.csv +121 -121
  929. teradataml/data/ville_tempdata.csv +12 -12
  930. teradataml/data/ville_tempdata1.csv +12 -12
  931. teradataml/data/ville_temperature.csv +11 -11
  932. teradataml/data/waveletTable.csv +1605 -1605
  933. teradataml/data/waveletTable2.csv +1605 -1605
  934. teradataml/data/weightedmovavg_example.json +8 -8
  935. teradataml/data/wft_testing.csv +5 -5
  936. teradataml/data/wine_data.csv +1600 -0
  937. teradataml/data/word_embed_input_table1.csv +5 -5
  938. teradataml/data/word_embed_input_table2.csv +4 -4
  939. teradataml/data/word_embed_model.csv +22 -22
  940. teradataml/data/words_input.csv +13 -13
  941. teradataml/data/xconvolve_complex_left.csv +6 -6
  942. teradataml/data/xconvolve_complex_leftmulti.csv +6 -6
  943. teradataml/data/xgboost_example.json +35 -35
  944. teradataml/data/xgboostpredict_example.json +31 -31
  945. teradataml/data/ztest_example.json +16 -0
  946. teradataml/dataframe/copy_to.py +1769 -1698
  947. teradataml/dataframe/data_transfer.py +2812 -2745
  948. teradataml/dataframe/dataframe.py +17630 -16946
  949. teradataml/dataframe/dataframe_utils.py +1875 -1740
  950. teradataml/dataframe/fastload.py +794 -603
  951. teradataml/dataframe/indexer.py +424 -424
  952. teradataml/dataframe/setop.py +1179 -1166
  953. teradataml/dataframe/sql.py +10174 -6432
  954. teradataml/dataframe/sql_function_parameters.py +439 -388
  955. teradataml/dataframe/sql_functions.py +652 -652
  956. teradataml/dataframe/sql_interfaces.py +220 -220
  957. teradataml/dataframe/vantage_function_types.py +674 -630
  958. teradataml/dataframe/window.py +693 -692
  959. teradataml/dbutils/__init__.py +3 -3
  960. teradataml/dbutils/dbutils.py +1167 -1150
  961. teradataml/dbutils/filemgr.py +267 -267
  962. teradataml/gen_ai/__init__.py +2 -2
  963. teradataml/gen_ai/convAI.py +472 -472
  964. teradataml/geospatial/__init__.py +3 -3
  965. teradataml/geospatial/geodataframe.py +1105 -1094
  966. teradataml/geospatial/geodataframecolumn.py +392 -387
  967. teradataml/geospatial/geometry_types.py +925 -925
  968. teradataml/hyperparameter_tuner/__init__.py +1 -1
  969. teradataml/hyperparameter_tuner/optimizer.py +3783 -2993
  970. teradataml/hyperparameter_tuner/utils.py +281 -187
  971. teradataml/lib/aed_0_1.dll +0 -0
  972. teradataml/lib/libaed_0_1.dylib +0 -0
  973. teradataml/lib/libaed_0_1.so +0 -0
  974. teradataml/libaed_0_1.dylib +0 -0
  975. teradataml/libaed_0_1.so +0 -0
  976. teradataml/opensource/__init__.py +1 -0
  977. teradataml/opensource/sklearn/__init__.py +1 -0
  978. teradataml/opensource/sklearn/_class.py +255 -0
  979. teradataml/opensource/sklearn/_sklearn_wrapper.py +1715 -0
  980. teradataml/opensource/sklearn/_wrapper_utils.py +268 -0
  981. teradataml/opensource/sklearn/constants.py +54 -0
  982. teradataml/options/__init__.py +130 -124
  983. teradataml/options/configure.py +358 -336
  984. teradataml/options/display.py +176 -176
  985. teradataml/plot/__init__.py +2 -2
  986. teradataml/plot/axis.py +1388 -1388
  987. teradataml/plot/constants.py +15 -15
  988. teradataml/plot/figure.py +398 -398
  989. teradataml/plot/plot.py +760 -760
  990. teradataml/plot/query_generator.py +83 -83
  991. teradataml/plot/subplot.py +216 -216
  992. teradataml/scriptmgmt/UserEnv.py +3791 -3761
  993. teradataml/scriptmgmt/__init__.py +3 -3
  994. teradataml/scriptmgmt/lls_utils.py +1719 -1604
  995. teradataml/series/series.py +532 -532
  996. teradataml/series/series_utils.py +71 -71
  997. teradataml/table_operators/Apply.py +949 -917
  998. teradataml/table_operators/Script.py +1718 -1982
  999. teradataml/table_operators/TableOperator.py +1255 -1616
  1000. teradataml/table_operators/__init__.py +2 -3
  1001. teradataml/table_operators/apply_query_generator.py +262 -262
  1002. teradataml/table_operators/query_generator.py +507 -507
  1003. teradataml/table_operators/table_operator_query_generator.py +460 -460
  1004. teradataml/table_operators/table_operator_util.py +631 -639
  1005. teradataml/table_operators/templates/dataframe_apply.template +184 -184
  1006. teradataml/table_operators/templates/dataframe_map.template +176 -176
  1007. teradataml/table_operators/templates/script_executor.template +170 -170
  1008. teradataml/utils/dtypes.py +684 -684
  1009. teradataml/utils/internal_buffer.py +84 -84
  1010. teradataml/utils/print_versions.py +205 -205
  1011. teradataml/utils/utils.py +410 -410
  1012. teradataml/utils/validators.py +2277 -2115
  1013. {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/METADATA +346 -45
  1014. teradataml-20.0.0.1.dist-info/RECORD +1056 -0
  1015. {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/WHEEL +1 -1
  1016. {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/zip-safe +1 -1
  1017. teradataml/analytics/mle/AdaBoost.py +0 -651
  1018. teradataml/analytics/mle/AdaBoostPredict.py +0 -564
  1019. teradataml/analytics/mle/Antiselect.py +0 -342
  1020. teradataml/analytics/mle/Arima.py +0 -641
  1021. teradataml/analytics/mle/ArimaPredict.py +0 -477
  1022. teradataml/analytics/mle/Attribution.py +0 -1070
  1023. teradataml/analytics/mle/Betweenness.py +0 -658
  1024. teradataml/analytics/mle/Burst.py +0 -711
  1025. teradataml/analytics/mle/CCM.py +0 -600
  1026. teradataml/analytics/mle/CCMPrepare.py +0 -324
  1027. teradataml/analytics/mle/CFilter.py +0 -460
  1028. teradataml/analytics/mle/ChangePointDetection.py +0 -572
  1029. teradataml/analytics/mle/ChangePointDetectionRT.py +0 -477
  1030. teradataml/analytics/mle/Closeness.py +0 -737
  1031. teradataml/analytics/mle/ConfusionMatrix.py +0 -420
  1032. teradataml/analytics/mle/Correlation.py +0 -477
  1033. teradataml/analytics/mle/Correlation2.py +0 -573
  1034. teradataml/analytics/mle/CoxHazardRatio.py +0 -679
  1035. teradataml/analytics/mle/CoxPH.py +0 -556
  1036. teradataml/analytics/mle/CoxSurvival.py +0 -478
  1037. teradataml/analytics/mle/CumulativeMovAvg.py +0 -363
  1038. teradataml/analytics/mle/DTW.py +0 -623
  1039. teradataml/analytics/mle/DWT.py +0 -564
  1040. teradataml/analytics/mle/DWT2D.py +0 -599
  1041. teradataml/analytics/mle/DecisionForest.py +0 -716
  1042. teradataml/analytics/mle/DecisionForestEvaluator.py +0 -363
  1043. teradataml/analytics/mle/DecisionForestPredict.py +0 -561
  1044. teradataml/analytics/mle/DecisionTree.py +0 -830
  1045. teradataml/analytics/mle/DecisionTreePredict.py +0 -528
  1046. teradataml/analytics/mle/ExponentialMovAvg.py +0 -418
  1047. teradataml/analytics/mle/FMeasure.py +0 -402
  1048. teradataml/analytics/mle/FPGrowth.py +0 -734
  1049. teradataml/analytics/mle/FrequentPaths.py +0 -695
  1050. teradataml/analytics/mle/GLM.py +0 -558
  1051. teradataml/analytics/mle/GLML1L2.py +0 -547
  1052. teradataml/analytics/mle/GLML1L2Predict.py +0 -519
  1053. teradataml/analytics/mle/GLMPredict.py +0 -529
  1054. teradataml/analytics/mle/HMMDecoder.py +0 -945
  1055. teradataml/analytics/mle/HMMEvaluator.py +0 -901
  1056. teradataml/analytics/mle/HMMSupervised.py +0 -521
  1057. teradataml/analytics/mle/HMMUnsupervised.py +0 -572
  1058. teradataml/analytics/mle/Histogram.py +0 -561
  1059. teradataml/analytics/mle/IDWT.py +0 -476
  1060. teradataml/analytics/mle/IDWT2D.py +0 -493
  1061. teradataml/analytics/mle/IdentityMatch.py +0 -763
  1062. teradataml/analytics/mle/Interpolator.py +0 -918
  1063. teradataml/analytics/mle/KMeans.py +0 -485
  1064. teradataml/analytics/mle/KNN.py +0 -627
  1065. teradataml/analytics/mle/KNNRecommender.py +0 -488
  1066. teradataml/analytics/mle/KNNRecommenderPredict.py +0 -581
  1067. teradataml/analytics/mle/LAR.py +0 -439
  1068. teradataml/analytics/mle/LARPredict.py +0 -478
  1069. teradataml/analytics/mle/LDA.py +0 -548
  1070. teradataml/analytics/mle/LDAInference.py +0 -492
  1071. teradataml/analytics/mle/LDATopicSummary.py +0 -464
  1072. teradataml/analytics/mle/LevenshteinDistance.py +0 -450
  1073. teradataml/analytics/mle/LinReg.py +0 -433
  1074. teradataml/analytics/mle/LinRegPredict.py +0 -438
  1075. teradataml/analytics/mle/MinHash.py +0 -544
  1076. teradataml/analytics/mle/Modularity.py +0 -587
  1077. teradataml/analytics/mle/NEREvaluator.py +0 -410
  1078. teradataml/analytics/mle/NERExtractor.py +0 -595
  1079. teradataml/analytics/mle/NERTrainer.py +0 -458
  1080. teradataml/analytics/mle/NGrams.py +0 -570
  1081. teradataml/analytics/mle/NPath.py +0 -634
  1082. teradataml/analytics/mle/NTree.py +0 -549
  1083. teradataml/analytics/mle/NaiveBayes.py +0 -462
  1084. teradataml/analytics/mle/NaiveBayesPredict.py +0 -513
  1085. teradataml/analytics/mle/NaiveBayesTextClassifier.py +0 -607
  1086. teradataml/analytics/mle/NaiveBayesTextClassifier2.py +0 -531
  1087. teradataml/analytics/mle/NaiveBayesTextClassifierPredict.py +0 -799
  1088. teradataml/analytics/mle/NamedEntityFinder.py +0 -529
  1089. teradataml/analytics/mle/NamedEntityFinderEvaluator.py +0 -414
  1090. teradataml/analytics/mle/NamedEntityFinderTrainer.py +0 -396
  1091. teradataml/analytics/mle/POSTagger.py +0 -417
  1092. teradataml/analytics/mle/Pack.py +0 -411
  1093. teradataml/analytics/mle/PageRank.py +0 -535
  1094. teradataml/analytics/mle/PathAnalyzer.py +0 -426
  1095. teradataml/analytics/mle/PathGenerator.py +0 -367
  1096. teradataml/analytics/mle/PathStart.py +0 -464
  1097. teradataml/analytics/mle/PathSummarizer.py +0 -470
  1098. teradataml/analytics/mle/Pivot.py +0 -471
  1099. teradataml/analytics/mle/ROC.py +0 -425
  1100. teradataml/analytics/mle/RandomSample.py +0 -637
  1101. teradataml/analytics/mle/RandomWalkSample.py +0 -490
  1102. teradataml/analytics/mle/SAX.py +0 -779
  1103. teradataml/analytics/mle/SVMDense.py +0 -677
  1104. teradataml/analytics/mle/SVMDensePredict.py +0 -536
  1105. teradataml/analytics/mle/SVMDenseSummary.py +0 -437
  1106. teradataml/analytics/mle/SVMSparse.py +0 -557
  1107. teradataml/analytics/mle/SVMSparsePredict.py +0 -553
  1108. teradataml/analytics/mle/SVMSparseSummary.py +0 -435
  1109. teradataml/analytics/mle/Sampling.py +0 -549
  1110. teradataml/analytics/mle/Scale.py +0 -565
  1111. teradataml/analytics/mle/ScaleByPartition.py +0 -496
  1112. teradataml/analytics/mle/ScaleMap.py +0 -378
  1113. teradataml/analytics/mle/ScaleSummary.py +0 -320
  1114. teradataml/analytics/mle/SentenceExtractor.py +0 -363
  1115. teradataml/analytics/mle/SentimentEvaluator.py +0 -432
  1116. teradataml/analytics/mle/SentimentExtractor.py +0 -578
  1117. teradataml/analytics/mle/SentimentTrainer.py +0 -405
  1118. teradataml/analytics/mle/SeriesSplitter.py +0 -641
  1119. teradataml/analytics/mle/Sessionize.py +0 -475
  1120. teradataml/analytics/mle/SimpleMovAvg.py +0 -397
  1121. teradataml/analytics/mle/StringSimilarity.py +0 -425
  1122. teradataml/analytics/mle/TF.py +0 -389
  1123. teradataml/analytics/mle/TFIDF.py +0 -504
  1124. teradataml/analytics/mle/TextChunker.py +0 -414
  1125. teradataml/analytics/mle/TextClassifier.py +0 -399
  1126. teradataml/analytics/mle/TextClassifierEvaluator.py +0 -413
  1127. teradataml/analytics/mle/TextClassifierTrainer.py +0 -565
  1128. teradataml/analytics/mle/TextMorph.py +0 -494
  1129. teradataml/analytics/mle/TextParser.py +0 -623
  1130. teradataml/analytics/mle/TextTagger.py +0 -530
  1131. teradataml/analytics/mle/TextTokenizer.py +0 -502
  1132. teradataml/analytics/mle/UnivariateStatistics.py +0 -488
  1133. teradataml/analytics/mle/Unpack.py +0 -526
  1134. teradataml/analytics/mle/Unpivot.py +0 -438
  1135. teradataml/analytics/mle/VarMax.py +0 -776
  1136. teradataml/analytics/mle/VectorDistance.py +0 -762
  1137. teradataml/analytics/mle/WeightedMovAvg.py +0 -400
  1138. teradataml/analytics/mle/XGBoost.py +0 -842
  1139. teradataml/analytics/mle/XGBoostPredict.py +0 -627
  1140. teradataml/analytics/mle/__init__.py +0 -123
  1141. teradataml/analytics/mle/json/adaboost_mle.json +0 -135
  1142. teradataml/analytics/mle/json/adaboostpredict_mle.json +0 -85
  1143. teradataml/analytics/mle/json/antiselect_mle.json +0 -34
  1144. teradataml/analytics/mle/json/antiselect_mle_mle.json +0 -34
  1145. teradataml/analytics/mle/json/arima_mle.json +0 -172
  1146. teradataml/analytics/mle/json/arimapredict_mle.json +0 -52
  1147. teradataml/analytics/mle/json/attribution_mle_mle.json +0 -143
  1148. teradataml/analytics/mle/json/betweenness_mle.json +0 -97
  1149. teradataml/analytics/mle/json/burst_mle.json +0 -140
  1150. teradataml/analytics/mle/json/ccm_mle.json +0 -124
  1151. teradataml/analytics/mle/json/ccmprepare_mle.json +0 -14
  1152. teradataml/analytics/mle/json/cfilter_mle.json +0 -93
  1153. teradataml/analytics/mle/json/changepointdetection_mle.json +0 -92
  1154. teradataml/analytics/mle/json/changepointdetectionrt_mle.json +0 -78
  1155. teradataml/analytics/mle/json/closeness_mle.json +0 -104
  1156. teradataml/analytics/mle/json/confusionmatrix_mle.json +0 -79
  1157. teradataml/analytics/mle/json/correlation_mle.json +0 -86
  1158. teradataml/analytics/mle/json/correlationreduce_mle.json +0 -49
  1159. teradataml/analytics/mle/json/coxhazardratio_mle.json +0 -89
  1160. teradataml/analytics/mle/json/coxph_mle.json +0 -98
  1161. teradataml/analytics/mle/json/coxsurvival_mle.json +0 -79
  1162. teradataml/analytics/mle/json/cumulativemovavg_mle.json +0 -34
  1163. teradataml/analytics/mle/json/decisionforest_mle.json +0 -167
  1164. teradataml/analytics/mle/json/decisionforestevaluator_mle.json +0 -33
  1165. teradataml/analytics/mle/json/decisionforestpredict_mle_mle.json +0 -74
  1166. teradataml/analytics/mle/json/decisiontree_mle.json +0 -194
  1167. teradataml/analytics/mle/json/decisiontreepredict_mle_mle.json +0 -86
  1168. teradataml/analytics/mle/json/dtw_mle.json +0 -97
  1169. teradataml/analytics/mle/json/dwt2d_mle.json +0 -116
  1170. teradataml/analytics/mle/json/dwt_mle.json +0 -101
  1171. teradataml/analytics/mle/json/exponentialmovavg_mle.json +0 -55
  1172. teradataml/analytics/mle/json/fmeasure_mle.json +0 -58
  1173. teradataml/analytics/mle/json/fpgrowth_mle.json +0 -159
  1174. teradataml/analytics/mle/json/frequentpaths_mle.json +0 -129
  1175. teradataml/analytics/mle/json/glm_mle.json +0 -111
  1176. teradataml/analytics/mle/json/glml1l2_mle.json +0 -106
  1177. teradataml/analytics/mle/json/glml1l2predict_mle.json +0 -57
  1178. teradataml/analytics/mle/json/glmpredict_mle_mle.json +0 -74
  1179. teradataml/analytics/mle/json/histogram_mle.json +0 -100
  1180. teradataml/analytics/mle/json/hmmdecoder_mle.json +0 -192
  1181. teradataml/analytics/mle/json/hmmevaluator_mle.json +0 -206
  1182. teradataml/analytics/mle/json/hmmsupervised_mle.json +0 -91
  1183. teradataml/analytics/mle/json/hmmunsupervised_mle.json +0 -114
  1184. teradataml/analytics/mle/json/identitymatch_mle.json +0 -88
  1185. teradataml/analytics/mle/json/idwt2d_mle.json +0 -73
  1186. teradataml/analytics/mle/json/idwt_mle.json +0 -66
  1187. teradataml/analytics/mle/json/interpolator_mle.json +0 -151
  1188. teradataml/analytics/mle/json/kmeans_mle.json +0 -97
  1189. teradataml/analytics/mle/json/knn_mle.json +0 -141
  1190. teradataml/analytics/mle/json/knnrecommender_mle.json +0 -111
  1191. teradataml/analytics/mle/json/knnrecommenderpredict_mle.json +0 -75
  1192. teradataml/analytics/mle/json/lar_mle.json +0 -78
  1193. teradataml/analytics/mle/json/larpredict_mle.json +0 -69
  1194. teradataml/analytics/mle/json/lda_mle.json +0 -130
  1195. teradataml/analytics/mle/json/ldainference_mle.json +0 -78
  1196. teradataml/analytics/mle/json/ldatopicsummary_mle.json +0 -64
  1197. teradataml/analytics/mle/json/levenshteindistance_mle.json +0 -92
  1198. teradataml/analytics/mle/json/linreg_mle.json +0 -42
  1199. teradataml/analytics/mle/json/linregpredict_mle.json +0 -56
  1200. teradataml/analytics/mle/json/minhash_mle.json +0 -113
  1201. teradataml/analytics/mle/json/modularity_mle.json +0 -91
  1202. teradataml/analytics/mle/json/naivebayespredict_mle_mle.json +0 -85
  1203. teradataml/analytics/mle/json/naivebayesreduce_mle.json +0 -52
  1204. teradataml/analytics/mle/json/naivebayestextclassifierpredict_mle_mle.json +0 -147
  1205. teradataml/analytics/mle/json/naivebayestextclassifiertrainer2_mle.json +0 -108
  1206. teradataml/analytics/mle/json/naivebayestextclassifiertrainer_mle.json +0 -102
  1207. teradataml/analytics/mle/json/namedentityfinder_mle.json +0 -84
  1208. teradataml/analytics/mle/json/namedentityfinderevaluatorreduce_mle.json +0 -43
  1209. teradataml/analytics/mle/json/namedentityfindertrainer_mle.json +0 -64
  1210. teradataml/analytics/mle/json/nerevaluator_mle.json +0 -54
  1211. teradataml/analytics/mle/json/nerextractor_mle.json +0 -87
  1212. teradataml/analytics/mle/json/nertrainer_mle.json +0 -89
  1213. teradataml/analytics/mle/json/ngrams_mle.json +0 -137
  1214. teradataml/analytics/mle/json/ngramsplitter_mle_mle.json +0 -137
  1215. teradataml/analytics/mle/json/npath@coprocessor_mle.json +0 -73
  1216. teradataml/analytics/mle/json/ntree@coprocessor_mle.json +0 -123
  1217. teradataml/analytics/mle/json/pack_mle.json +0 -58
  1218. teradataml/analytics/mle/json/pack_mle_mle.json +0 -58
  1219. teradataml/analytics/mle/json/pagerank_mle.json +0 -81
  1220. teradataml/analytics/mle/json/pathanalyzer_mle.json +0 -63
  1221. teradataml/analytics/mle/json/pathgenerator_mle.json +0 -40
  1222. teradataml/analytics/mle/json/pathstart_mle.json +0 -62
  1223. teradataml/analytics/mle/json/pathsummarizer_mle.json +0 -72
  1224. teradataml/analytics/mle/json/pivoting_mle.json +0 -71
  1225. teradataml/analytics/mle/json/postagger_mle.json +0 -51
  1226. teradataml/analytics/mle/json/randomsample_mle.json +0 -131
  1227. teradataml/analytics/mle/json/randomwalksample_mle.json +0 -85
  1228. teradataml/analytics/mle/json/roc_mle.json +0 -73
  1229. teradataml/analytics/mle/json/sampling_mle.json +0 -75
  1230. teradataml/analytics/mle/json/sax_mle.json +0 -154
  1231. teradataml/analytics/mle/json/scale_mle.json +0 -93
  1232. teradataml/analytics/mle/json/scalebypartition_mle.json +0 -89
  1233. teradataml/analytics/mle/json/scalemap_mle.json +0 -44
  1234. teradataml/analytics/mle/json/scalesummary_mle.json +0 -14
  1235. teradataml/analytics/mle/json/sentenceextractor_mle.json +0 -41
  1236. teradataml/analytics/mle/json/sentimentevaluator_mle.json +0 -43
  1237. teradataml/analytics/mle/json/sentimentextractor_mle.json +0 -100
  1238. teradataml/analytics/mle/json/sentimenttrainer_mle.json +0 -68
  1239. teradataml/analytics/mle/json/seriessplitter_mle.json +0 -133
  1240. teradataml/analytics/mle/json/sessionize_mle_mle.json +0 -62
  1241. teradataml/analytics/mle/json/simplemovavg_mle.json +0 -48
  1242. teradataml/analytics/mle/json/stringsimilarity_mle.json +0 -50
  1243. teradataml/analytics/mle/json/stringsimilarity_mle_mle.json +0 -50
  1244. teradataml/analytics/mle/json/svmdense_mle.json +0 -165
  1245. teradataml/analytics/mle/json/svmdensepredict_mle.json +0 -95
  1246. teradataml/analytics/mle/json/svmdensesummary_mle.json +0 -58
  1247. teradataml/analytics/mle/json/svmsparse_mle.json +0 -148
  1248. teradataml/analytics/mle/json/svmsparsepredict_mle_mle.json +0 -103
  1249. teradataml/analytics/mle/json/svmsparsesummary_mle.json +0 -57
  1250. teradataml/analytics/mle/json/textchunker_mle.json +0 -40
  1251. teradataml/analytics/mle/json/textclassifier_mle.json +0 -51
  1252. teradataml/analytics/mle/json/textclassifierevaluator_mle.json +0 -43
  1253. teradataml/analytics/mle/json/textclassifiertrainer_mle.json +0 -103
  1254. teradataml/analytics/mle/json/textmorph_mle.json +0 -63
  1255. teradataml/analytics/mle/json/textparser_mle.json +0 -166
  1256. teradataml/analytics/mle/json/texttagger_mle.json +0 -81
  1257. teradataml/analytics/mle/json/texttokenizer_mle.json +0 -91
  1258. teradataml/analytics/mle/json/tf_mle.json +0 -33
  1259. teradataml/analytics/mle/json/tfidf_mle.json +0 -34
  1260. teradataml/analytics/mle/json/univariatestatistics_mle.json +0 -81
  1261. teradataml/analytics/mle/json/unpack_mle.json +0 -91
  1262. teradataml/analytics/mle/json/unpack_mle_mle.json +0 -91
  1263. teradataml/analytics/mle/json/unpivoting_mle.json +0 -63
  1264. teradataml/analytics/mle/json/varmax_mle.json +0 -176
  1265. teradataml/analytics/mle/json/vectordistance_mle.json +0 -179
  1266. teradataml/analytics/mle/json/weightedmovavg_mle.json +0 -48
  1267. teradataml/analytics/mle/json/xgboost_mle.json +0 -178
  1268. teradataml/analytics/mle/json/xgboostpredict_mle.json +0 -104
  1269. teradataml/analytics/sqle/Antiselect.py +0 -321
  1270. teradataml/analytics/sqle/Attribution.py +0 -603
  1271. teradataml/analytics/sqle/DecisionForestPredict.py +0 -408
  1272. teradataml/analytics/sqle/GLMPredict.py +0 -430
  1273. teradataml/analytics/sqle/MovingAverage.py +0 -543
  1274. teradataml/analytics/sqle/NGramSplitter.py +0 -548
  1275. teradataml/analytics/sqle/NPath.py +0 -632
  1276. teradataml/analytics/sqle/NaiveBayesTextClassifierPredict.py +0 -515
  1277. teradataml/analytics/sqle/Pack.py +0 -388
  1278. teradataml/analytics/sqle/SVMSparsePredict.py +0 -464
  1279. teradataml/analytics/sqle/Sessionize.py +0 -390
  1280. teradataml/analytics/sqle/StringSimilarity.py +0 -400
  1281. teradataml/analytics/sqle/Unpack.py +0 -503
  1282. teradataml/analytics/sqle/json/antiselect_sqle.json +0 -21
  1283. teradataml/analytics/sqle/json/attribution_sqle.json +0 -92
  1284. teradataml/analytics/sqle/json/decisionforestpredict_sqle.json +0 -48
  1285. teradataml/analytics/sqle/json/glmpredict_sqle.json +0 -48
  1286. teradataml/analytics/sqle/json/h2opredict_sqle.json +0 -63
  1287. teradataml/analytics/sqle/json/movingaverage_sqle.json +0 -58
  1288. teradataml/analytics/sqle/json/naivebayestextclassifierpredict_sqle.json +0 -76
  1289. teradataml/analytics/sqle/json/ngramsplitter_sqle.json +0 -126
  1290. teradataml/analytics/sqle/json/npath_sqle.json +0 -67
  1291. teradataml/analytics/sqle/json/pack_sqle.json +0 -47
  1292. teradataml/analytics/sqle/json/pmmlpredict_sqle.json +0 -55
  1293. teradataml/analytics/sqle/json/sessionize_sqle.json +0 -43
  1294. teradataml/analytics/sqle/json/stringsimilarity_sqle.json +0 -39
  1295. teradataml/analytics/sqle/json/svmsparsepredict_sqle.json +0 -74
  1296. teradataml/analytics/sqle/json/unpack_sqle.json +0 -80
  1297. teradataml/catalog/model_cataloging.py +0 -980
  1298. teradataml/config/mlengine_alias_definitions_v1.0 +0 -118
  1299. teradataml/config/mlengine_alias_definitions_v1.1 +0 -127
  1300. teradataml/config/mlengine_alias_definitions_v1.3 +0 -129
  1301. teradataml/table_operators/sandbox_container_util.py +0 -643
  1302. teradataml-17.20.0.7.dist-info/RECORD +0 -1280
  1303. {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/top_level.txt +0 -0
@@ -1,1094 +1,1105 @@
1
- # ##################################################################
2
- #
3
- # Copyright 2021 Teradata. All rights reserved.
4
- # TERADATA CONFIDENTIAL AND TRADE SECRET
5
- #
6
- # Primary Owner: Pankaj Purandare (pankajvinod.purandare@teradata.com)
7
- # Secondary Owner:
8
- #
9
- # This file implements teradataml GeoDataFrame.
10
- # teradataml GeoDataFrame allows user to access table on Vantage
11
- # containing Geometry or Geospatial data.
12
- #
13
- # ##################################################################
14
- import sqlalchemy
15
- from teradataml.common.constants import GeospatialConstants, TeradataTypes
16
- from teradataml.common.messagecodes import MessageCodes
17
- from teradataml.common.messages import Messages
18
- from teradataml.common.utils import UtilFuncs
19
- from teradataml.common.exceptions import TeradataMlException
20
- from teradataml.dataframe.dataframe import DataFrame
21
- from teradataml.geospatial.geodataframecolumn import GeoDataFrameColumn
22
- from teradataml.plot.plot import _Plot
23
- from teradataml.utils.validators import _Validators
24
- from teradatasqlalchemy import (GEOMETRY, MBR, MBB)
25
-
26
- class GeoDataFrame(DataFrame):
27
- """
28
- The teradataml GeoDataFrame enables data manipulation, exploration, and
29
- analysis on tables, views, and queries on Teradata Vantage that contains
30
- Geospatial data.
31
- """
32
- def __init__(self, table_name=None, index=True, index_label=None,
33
- query=None, materialize=False):
34
- """
35
- Constructor for teradataml GeoDataFrame.
36
-
37
- PARAMETERS:
38
- table_name:
39
- Optional Argument.
40
- The table name or view name in Teradata Vantage referenced by this DataFrame.
41
- Types: str
42
-
43
- index:
44
- Optional Argument.
45
- True if using index column for sorting, otherwise False.
46
- Default Value: True
47
- Types: bool
48
-
49
- index_label:
50
- Optional Argument.
51
- Column/s used for sorting.
52
- Types: str OR list of Strings (str)
53
-
54
- query:
55
- Optional Argument.
56
- SQL query for this Dataframe. Used by class method from_query.
57
- Types: str
58
-
59
- materialize:
60
- Optional Argument.
61
- Whether to materialize DataFrame or not when created.
62
- Used by class method from_query.
63
-
64
- One should use enable materialization, when the query passed
65
- to from_query(), is expected to produce non-deterministic
66
- results, when it is executed multiple times. Using this option
67
- will help user to have deterministic results in the resulting
68
- teradataml GeoDataFrame.
69
- Default Value: False (No materialization)
70
- Types: bool
71
-
72
- EXAMPLES:
73
- from teradataml.dataframe.dataframe import DataFrame
74
- df = DataFrame("mytab")
75
- df = DataFrame("myview")
76
- df = DataFrame("myview", False)
77
- df = DataFrame("mytab", True, "Col1, Col2")
78
-
79
- RAISES:
80
- TeradataMlException - TDMLDF_CREATE_FAIL
81
- """
82
- self.__geom_column = None
83
- # Call super(), to process the inputs.
84
- super().__init__(table_name=table_name, index=index,
85
- index_label=index_label, query=query,
86
- materialize=materialize)
87
-
88
- def _check_geom_column(self, metaexpr=None):
89
- """
90
- DESCRIPTION:
91
- Internal function to whether the metaexpr contains a geospatial
92
- type column or not.
93
-
94
- PARAMETERS:
95
- metaexpr:
96
- Required Argument.
97
- Specifies the teradataml DataFrame/teradataml GeoDataFrame
98
- metaexpr to validate for geospatial content.
99
- Types: _MetaExpression
100
-
101
- RETURNS:
102
- boolean.
103
- True if Geospatial data type column exists, False otherwise.
104
-
105
- RAISES:
106
- None.
107
-
108
- EXAMPLES:
109
- self._check_geom_column(metaexpr)
110
- """
111
- if metaexpr is None:
112
- metaexpr = self._metaexpr.c
113
- for col in metaexpr.c:
114
- if isinstance(col.type, (GEOMETRY, MBR, MBB)):
115
- return True
116
- return False
117
-
118
- def plot(self, x=None, y=None, kind="geometry", **kwargs):
119
- """
120
- DESCRIPTION:
121
- Generate plots on teradataml GeoDataFrame. Following type of plots
122
- are supported, which can be specified using argument "kind":
123
- * geometry plot
124
- * bar plot
125
- * corr plot
126
- * line plot
127
- * mesh plot
128
- * scatter plot
129
- * wiggle plot
130
- Notes:
131
- * Geometry plot is generated based on geometry column in teradataml GeoDataFrame.
132
- * Only the columns with ST_GEOMETRY type are allowed for generating geometry plot.
133
- * The maximum size for ST_GEOMETRY must be less than or equal to 64000.
134
- * The ST_GEOMETRY shape can be POINT, LINESTRING etc. It is POLGYON that allows
135
- filling of different colors.
136
-
137
- PARAMETERS:
138
- x:
139
- Optional Argument.
140
- Specifies a GeoDataFrame column to use for the x-axis data.
141
- Note:
142
- "x" is not significant for geometry plots. For other plots
143
- it is mandatory argument.
144
- Types: teradataml GeoDataFrame Column
145
-
146
- y:
147
- Required Argument.
148
- Specifies GeoDataFrame column(s) to use for the y-axis data.
149
- Notes:
150
- * Geometry plot always requires geometry column and corresponding 'weight'
151
- column. 'weight' column represents the weight of a shape mentioned in
152
- geometry column.
153
- * If user does not specify geometry column, the default geometry column
154
- is considered for plotting.
155
- Types: teradataml GeoDataFrame Column OR tuple of GeoDataFrame Column OR list of teradataml GeoDataFrame Columns.
156
-
157
- scale:
158
- Optional Argument.
159
- Specifies GeoDataFrame column to use for scale data to
160
- wiggle and mesh plots.
161
- Note:
162
- "scale" is significant for wiggle and mesh plots. Ignored for other
163
- type of plots.
164
- Types: teradataml GeoDataFrame Column.
165
-
166
- kind:
167
- Optional Argument.
168
- Specifies the kind of plot.
169
- Permitted Values:
170
- * 'geometry'
171
- * 'line'
172
- * 'bar'
173
- * 'scatter'
174
- * 'corr'
175
- * 'wiggle'
176
- * 'mesh'
177
- Default Value: geometry
178
- Types: str
179
-
180
- ax:
181
- Optional Argument.
182
- Specifies the axis for the plot.
183
- Types: Axis
184
-
185
- cmap:
186
- Optional Argument.
187
- Specifies the name of the colormap to be used for plotting.
188
- Notes:
189
- * Significant only when corresponding type of plot is mesh or geometry.
190
- * Ignored for other type of plots.
191
- Permitted Values:
192
- * All the colormaps mentioned in below URLs are supported.
193
- * https://matplotlib.org/stable/tutorials/colors/colormaps.html
194
- * https://matplotlib.org/cmocean/
195
- Types: str
196
-
197
- color:
198
- Optional Argument.
199
- Specifies the color for the plot.
200
- Note:
201
- Hexadecimal color codes are not supported.
202
- Permitted Values:
203
- * 'blue'
204
- * 'orange'
205
- * 'green'
206
- * 'red'
207
- * 'purple'
208
- * 'brown'
209
- * 'pink'
210
- * 'gray'
211
- * 'olive'
212
- * 'cyan'
213
- * Apart from above mentioned colors, the colors mentioned in
214
- https://xkcd.com/color/rgb are also supported.
215
- Default Value: 'blue'
216
- Types: str OR list of str
217
-
218
- figure:
219
- Optional Argument.
220
- Specifies the figure for the plot.
221
- Types: Figure
222
-
223
- figsize:
224
- Optional Argument.
225
- Specifies the size of the figure in a tuple of 2 elements. First
226
- element represents width of plot image in pixels and second
227
- element represents height of plot image in pixels.
228
- Default Value: (640, 480)
229
- Types: tuple
230
-
231
- figtype:
232
- Optional Argument.
233
- Specifies the type of the image to generate.
234
- Permitted Values:
235
- * 'png'
236
- * 'jpg'
237
- * 'svg'
238
- Default Value: png
239
- Types: str
240
-
241
- figdpi:
242
- Optional Argument.
243
- Specifies the dots per inch for the plot image.
244
- Note:
245
- * Valid range for "dpi" is: 72 <= width <= 300.
246
- Default Value: 100 for PNG and JPG Type image.
247
- Types: int
248
-
249
- grid_color:
250
- Optional Argument.
251
- Specifies the color of the grid.
252
- Note:
253
- Hexadecimal color codes are not supported.
254
- Permitted Values:
255
- * 'blue'
256
- * 'orange'
257
- * 'green'
258
- * 'red'
259
- * 'purple'
260
- * 'brown'
261
- * 'pink'
262
- * 'gray'
263
- * 'olive'
264
- * 'cyan'
265
- * Apart from above mentioned colors, the colors mentioned in
266
- https://xkcd.com/color/rgb are also supported.
267
- Default Value: gray
268
- Types: str
269
-
270
- grid_format:
271
- Optional Argument.
272
- Specifies the format for the grid.
273
- Types: str
274
-
275
- grid_linestyle:
276
- Optional Argument.
277
- Specifies the line style of the grid.
278
- Permitted Values:
279
- * -
280
- * --
281
- * -.
282
- Default Value: -
283
- Types: str
284
-
285
- grid_linewidth:
286
- Optional Argument.
287
- Specifies the line width of the grid.
288
- Note:
289
- Valid range for "grid_linewidth" is: 0.5 <= grid_linewidth <= 10.
290
- Default Value: 0.8
291
- Types: int OR float
292
-
293
- heading:
294
- Optional Argument.
295
- Specifies the heading for the plot.
296
- Types: str
297
-
298
- legend:
299
- Optional Argument.
300
- Specifies the legend(s) for the Plot.
301
- Types: str OR list of str
302
-
303
- legend_style:
304
- Optional Argument.
305
- Specifies the location for legend to display on Plot image. By default,
306
- legend is displayed at upper right corner.
307
- Permitted Values:
308
- * 'upper right'
309
- * 'upper left'
310
- * 'lower right'
311
- * 'lower left'
312
- * 'right'
313
- * 'center left'
314
- * 'center right'
315
- * 'lower center'
316
- * 'upper center'
317
- * 'center'
318
- Default Value: 'upper right'
319
- Types: str
320
-
321
- linestyle:
322
- Optional Argument.
323
- Specifies the line style for the plot.
324
- Permitted Values:
325
- * -
326
- * --
327
- * -.
328
- * :
329
- Default Value: -
330
- Types: str OR list of str
331
-
332
- linewidth:
333
- Optional Argument.
334
- Specifies the line width for the plot.
335
- Note:
336
- Valid range for "linewidth" is: 0.5 <= linewidth <= 10.
337
- Default Value: 0.8
338
- Types: int OR float OR list of int OR list of float
339
-
340
- marker:
341
- Optional Argument.
342
- Specifies the type of the marker to be used.
343
- Permitted Values:
344
- All the markers mentioned in https://matplotlib.org/stable/api/markers_api.html
345
- are supported.
346
- Types: str OR list of str
347
-
348
- markersize:
349
- Optional Argument.
350
- Specifies the size of the marker.
351
- Note:
352
- Valid range for "markersize" is: 1 <= markersize <= 20.
353
- Default Value: 6
354
- Types: int OR float OR list of int OR list of float
355
-
356
- position:
357
- Optional Argument.
358
- Specifies the position of the axis in the figure. Accepts a tuple
359
- of two elements where first element represents the row and second
360
- element represents column.
361
- Default Value: (1, 1)
362
- Types: tuple
363
-
364
- span:
365
- Optional Argument.
366
- Specifies the span of the axis in the figure. Accepts a tuple
367
- of two elements where first element represents the row and second
368
- element represents column.
369
- For Example,
370
- Span of (2, 1) specifies the Axis occupies 2 rows and 1 column
371
- in Figure.
372
- Default Value: (1, 1)
373
- Types: tuple
374
-
375
- reverse_xaxis:
376
- Optional Argument.
377
- Specifies whether to reverse tick values on x-axis or not.
378
- Default Value: False
379
- Types: bool
380
-
381
- reverse_yaxis:
382
- Optional Argument.
383
- Specifies whether to reverse tick values on y-axis or not.
384
- Default Value: False
385
- Types: bool
386
-
387
- series_identifier:
388
- Optional Argument.
389
- Specifies the teradataml GeoDataFrame Column which represents the
390
- identifier for the data. As many plots as distinct "series_identifier"
391
- are generated in a single Axis.
392
- For example:
393
- consider the below data in teradataml GeoDataFrame.
394
- ID x y
395
- 0 1 1 1
396
- 1 1 2 2
397
- 2 2 10 10
398
- 3 2 20 20
399
- If "series_identifier" is not specified, simple plot is
400
- generated where every 'y' is plotted against 'x' in a
401
- single plot. However, specifying "series_identifier" as 'ID'
402
- generates two plots in a single axis. One plot is for ID 1
403
- and another plot is for ID 2.
404
- Types: teradataml GeoDataFrame Column.
405
-
406
- title:
407
- Optional Argument.
408
- Specifies the title for the Axis.
409
- Types: str
410
-
411
- xlabel:
412
- Optional Argument.
413
- Specifies the label for x-axis.
414
- Notes:
415
- * When set to empty string, label is not displayed for x-axis.
416
- * When set to None, name of the x-axis column is displayed as
417
- label.
418
- Types: str
419
-
420
- xlim:
421
- Optional Argument.
422
- Specifies the range for xtick values.
423
- Types: tuple
424
-
425
- xtick_format:
426
- Optional Argument.
427
- Specifies whether to format tick values for x-axis or not.
428
- Types: str
429
-
430
- ylabel:
431
- Optional Argument.
432
- Specifies the label for y-axis.
433
- Notes:
434
- * When set to empty string, label is not displayed for y-axis.
435
- * When set to None, name of the y-axis column(s) is displayed as
436
- label.
437
- Types: str
438
-
439
- ylim:
440
- Optional Argument.
441
- Specifies the range for ytick values.
442
- Types: tuple
443
-
444
- ytick_format:
445
- Optional Argument.
446
- Specifies whether to format tick values for y-axis or not.
447
- Types: str
448
-
449
- vmin:
450
- Optional Argument.
451
- Specifies the lower range of the color map. By default, the range
452
- is derived from data and color codes are assigned accordingly.
453
- Note:
454
- "vmin" Significant only for Geometry Plot.
455
- Types: int OR float
456
-
457
- vmax:
458
- Optional Argument.
459
- Specifies the upper range of the color map. By default, the range is
460
- derived from data and color codes are assigned accordingly.
461
- Note:
462
- "vmax" Significant only for Geometry Plot.
463
- For example:
464
- Assuming user wants to use colormap 'matter' and derive the colors for
465
- values which are in between 1 and 100.
466
- Note:
467
- colormap 'matter' starts with Pale Yellow and ends with Violet.
468
- * If "colormap_range" is not specified, then range is derived from
469
- existing values. Thus, colors are represented as below in the whole range:
470
- * 1 as Pale Yellow.
471
- * 100 as Violet.
472
- * If "colormap_range" is specified as -100 and 100, the value 1 is at middle of
473
- the specified range. Thus, colors are represented as below in the whole range:
474
- * -100 as Pale Yellow.
475
- * 1 as Orange.
476
- * 100 as Violet.
477
- Types: int OR float
478
-
479
- wiggle_fill:
480
- Optional Argument.
481
- Specifies whether to fill the wiggle area or not. By default, the right
482
- positive half of the wiggle is not filled. If specified as True, wiggle
483
- area is filled.
484
- Note:
485
- Applicable only for the wiggle plot.
486
- Default Value: False
487
- Types: bool
488
-
489
- wiggle_scale:
490
- Optional Argument.
491
- Specifies the scale of the wiggle. By default, the amplitude of wiggle is scaled
492
- relative to RMS of the first payload. In certain cases, it can lead to excessively
493
- large wiggles. Use "wiggle_scale" to adjust the relative size of the wiggle.
494
- Note:
495
- Applicable only for the wiggle and mesh plots.
496
- Types: int OR float
497
-
498
- RAISES:
499
- TeradataMlException
500
-
501
- EXAMPLES:
502
- >>> load_example_data("geodataframe", ["sample_shapes"])
503
- >>> shapes_df = GeoDataFrame("sample_shapes")
504
- >>> shapes_df
505
- points linestrings polygons geom_collections geosequence
506
- skey
507
- 1006 POINT (235.52 54.546 7.4564) LINESTRING (1.35 3.6456 4.5,3. POLYGON ((0 0 0,0 0 20,0 20 0, None None
508
- 1007 MULTIPOINT (1 1,1 3,6 3,10 5,2 MULTILINESTRING ((1 1,1 3,6 3) MULTIPOLYGON (((1 1,1 3,6 3,6 None None
509
- 1005 POINT (1 3 5) LINESTRING (1 3 6,3 0 6,6 0 1) POLYGON ((0 0 0,0 0 20.435,0.0 GEOMETRYCOLLECTION (POINT (10 None
510
- 1004 POINT (10 20 30) LINESTRING (10 20 30,40 50 60, POLYGON ((0 0 0,0 10 20,20 20 GEOMETRYCOLLECTION (POINT (10 None
511
- 1003 POINT (235.52 54.546) LINESTRING (1.35 3.6456,3.6756 POLYGON ((0.6 0.8,0.6 20.8,20. None None
512
- 1001 POINT (10 20) LINESTRING (1 1,2 2,3 3,4 4) POLYGON ((0 0,0 20,20 20,20 0, GEOMETRYCOLLECTION (POINT (10 GEOSEQUENCE((10 20,30 40,50 60
513
- 1002 POINT (1 3) LINESTRING (1 3,3 0,0 1) POLYGON ((0 0,0 20,20 20,20 0, None GEOSEQUENCE((10 10,15 15,-2 0)
514
- 1009 MULTIPOINT (10 20 30,40 50 60, MULTILINESTRING ((10 20 30,40 MULTIPOLYGON (((0 0 0,0 20 20, None None
515
- 1008 MULTIPOINT (1.65 1.76,1.23 3.7 MULTILINESTRING ((1 3,3 0,0 1) MULTIPOLYGON (((0 0,0 20,20 20 None None
516
- 1010 MULTIPOINT (10.345 20.32 30.6, MULTILINESTRING ((1 3 6,3 0 6, MULTIPOLYGON (((0 0 0,0 0 20,0 None None
517
- >>>
518
- >>> load_example_data("geodataframe", ["us_population", "us_states_shapes"])
519
- >>> us_population
520
- location_type population_year population
521
- state_name
522
- Georgia State 1930 2908506.0
523
- Georgia State 1950 3444578.0
524
- Georgia State 1960 3943116.0
525
- Georgia State 1970 4589575.0
526
- Georgia State 1990 6478216.0
527
- Georgia State 2000 8186453.0
528
- Georgia State 1980 5463105.0
529
- Georgia State 1940 3123723.0
530
- Georgia State 1920 2895832.0
531
- Georgia State 1910 2609121.0
532
- >>> us_states_shapes = GeoDataFrame("us_states_shapes")
533
- >>> us_states_shapes
534
- state_name state_shape
535
- id
536
- NM New Mexico POLYGON ((472.45213 324.75551,
537
- VA Virginia POLYGON ((908.75086 270.98255,
538
- ND North Dakota POLYGON ((556.50879 73.847349,
539
- OK Oklahoma POLYGON ((609.50526 322.91131,
540
- WI Wisconsin POLYGON ((705.79187 134.80299,
541
- RI Rhode Island POLYGON ((946.50841 152.08022,
542
- HI Hawaii POLYGON ((416.34965 514.99923,
543
- KY Kentucky POLYGON ((693.17367 317.18459,
544
- WV West Virginia POLYGON ((836.73002 223.71281,
545
- NJ New Jersey POLYGON ((916.80709 207.30914,
546
- >>>
547
- >>> # Join shapes with population and filter only 1990 data.
548
- >>> population_data = us_states_shapes.join(us_population,
549
- ... on=us_population.state_name == us_states_shapes.state_name,
550
- ... lsuffix="us",
551
- ... rsuffix="t2")
552
- >>> population_data = population_data.select(["us_state_name", "state_shape", "population_year", "population"])
553
- >>> type(population_data)
554
- teradataml.geospatial.geodataframe.GeoDataFrame
555
- >>>
556
-
557
- # Example 1: Generate the geometry plot to show the density of population
558
- # across the US states in year 1990.
559
- >>> population_data_1990 = population_data[population_data.population_year == 1990]
560
- >>> population_data_1990
561
- us_state_name state_shape population_year population
562
- 0 New Mexico POLYGON ((472.45213 324.75551, 1990 1515069.0
563
- 1 Hawaii POLYGON ((416.34965 514.99923, 1990 1108229.0
564
- 2 Kentucky POLYGON ((693.17367 317.18459, 1990 3685296.0
565
- 3 New Jersey POLYGON ((916.80709 207.30914, 1990 7730188.0
566
- 4 North Dakota POLYGON ((556.50879 73.847349, 1990 638800.0
567
- 5 Oklahoma POLYGON ((609.50526 322.91131, 1990 3145585.0
568
- 6 West Virginia POLYGON ((836.73002 223.71281, 1990 1793477.0
569
- 7 Wisconsin POLYGON ((705.79187 134.80299, 1990 4891769.0
570
- 8 Virginia POLYGON ((908.75086 270.98255, 1990 6187358.0
571
- 9 Rhode Island POLYGON ((946.50841 152.08022, 1990 1003464.0
572
- >>>
573
- >>> # Define Figure.
574
- >>> from teradataml import Figure
575
- >>> figure = Figure(width=1500, height=862, heading="Geometry Plot")
576
- >>> figure.heading = "Geometry Plot"
577
- >>>
578
- >>> plot_1990 = population_data_1990.plot(y=population_data_1990.population,
579
- ... cmap='rainbow',
580
- ... figure=figure,
581
- ... reverse_yaxis=True,
582
- ... title="US 1990 Population",
583
- ... xlabel="",
584
- ... ylabel="")
585
- >>>
586
- >>> plot_1990.show()
587
-
588
- # Example 2: Plot a geometry plot for a single polygon to visualize the shape.
589
- # Note: X-axis is not significant in geometry plot. Y-axis can be a tuple,
590
- # first element represents weight of geometry shape and second element
591
- # represents the geometry column. Since color of geometry shape is generated
592
- # based on first column and since the example is to plot a single polygon,
593
- # the first element in tuple is not significant.
594
- >>> # Generate GeoDataFrame which has single Polygon.
595
- >>> single_polygon_df = shapes_df[shapes_df.skey==1004]
596
- >>> single_polygon_df.plot(y=(single_polygon_df.skey, single_polygon_df.polygons))
597
-
598
- # Example 3: Generate a bar plot on a GeoDataFrame.
599
- # Note: The below example shows how the population of the United States
600
- # changed from 1910 to 2020.
601
- >>> population_data.plot(x=population_data.population_year, y=population_data.population, kind="bar")
602
-
603
- # Example 4: Generate a subplot on a GeoDataFrame to show the rate of population increase over 4 decades.
604
- # Create DataFrames for population in the year 2020, 2010, 2000, 1990.
605
- >>> df_2020 = population_data[population_data.population_year == 2020]
606
- >>> df_2010 = population_data[population_data.population_year == 2010]
607
- >>> df_2000 = population_data[population_data.population_year == 2000]
608
- >>> df_1990 = population_data[population_data.population_year == 1990]
609
-
610
- # Define subplot.
611
- >>> fig, axes = subplots(nrows=2, ncols=2)
612
-
613
- >>> plot_population = df_1990.plot(y=(df_1990.population, df_1990.state_shape),
614
- ... cmap='rainbow',
615
- ... figure=fig,
616
- ... ax=axis[0],
617
- ... reverse_yaxis=True,
618
- ... vmin=55036.0,
619
- ... vmax=39538223.0,
620
- ... heading="US Population growth over 4 decades",
621
- ... title="US 1990 Population",
622
- ... xlabel="",
623
- ... yylabel="")
624
- >>> plot_population = df_2000.plot(y=(df_2000.population, df_2000.state_shape),
625
- ... cmap='rainbow',
626
- ... figure=fig,
627
- ... ax=axis[1],
628
- ... reverse_yaxis=True,
629
- ... vmin=55036.0,
630
- ... vmax=39538223.0,
631
- ... heading="US Population growth over 4 decades",
632
- ... title="US 2000 Population",
633
- ... xlabel="",
634
- ... ylabel="")
635
- >>> plot_population = df_2010.plot(x=df_2010.population_year,
636
- ... y=(df_2010.population, df_2010.state_shape),
637
- ... cmap='rainbow',
638
- ... figure=fig,
639
- ... ax=axis[2],
640
- ... reverse_yaxis=True,
641
- ... vmin=55036.0,
642
- ... vmax=39538223.0,
643
- ... heading="US Population growth over 4 decades",
644
- ... title="US 2010 Population",
645
- ... xlabel="",
646
- ... ylabel="",
647
- ... xtick_values_format="")
648
- >>> plot_population = df_2020.plot(x=df_2020.population_year,
649
- ... y=(df_2020.population, df_2020.state_shape),
650
- ... cmap='rainbow',
651
- ... figure=fig,
652
- ... ax=axis[3],
653
- ... reverse_yaxis=True,
654
- ... vmin=55036.0,
655
- ... vmax=39538223.0,
656
- ... heading="US Population growth over 4 decades",
657
- ... title="US 2020 Population",
658
- ... xlabel="",
659
- ... ylabel="",
660
- ... xtick_values_format="")
661
- >>> # Show the plot.
662
- >>> plot_population.show()
663
-
664
- """
665
- if kind == "geometry":
666
- # x is not really required for geometry plot. So, users can pass a None here.
667
- # However, UAF needs all the records to be a Non NULL value. So, construct x with
668
- # a dummy value.
669
- x = x if x is not None else 1
670
- y = UtilFuncs._as_list(y)
671
-
672
- # For geometry plot, x axis is not significant really.
673
- # They do not mean any thing.
674
- kwargs["xlabel"] = ""
675
- kwargs["xtick_values_format"] = ""
676
-
677
- # Geometry plot always need a tuple. Second
678
- # element should be a Geometry column. If user does not
679
- # specify a tuple, convert it to tuple by using default geometry column.
680
- # use "geometry" API.
681
- _get_y_axis = lambda x: x if isinstance(x, tuple) else (x, self.geometry)
682
- y = [_get_y_axis(arg) for arg in y]
683
-
684
- plot = _Plot(x=x, y=y, kind=kind, **kwargs)
685
- return plot
686
-
687
- def __getattr__(self, name):
688
- """
689
- Returns an attribute of the GeoDataFrame.
690
-
691
- PARAMETERS:
692
- name:
693
- Required Argument.
694
- Specifies the name of the attribute.
695
- Types: str
696
-
697
- RETURNS:
698
- Return the value of the named attribute of object (if found).
699
-
700
- EXAMPLES:
701
- df = GeoDataFrame('table')
702
-
703
- # You can access a column from the teradataml GeoDataFrame.
704
- df.c1
705
-
706
- RAISES:
707
- Attribute Error when the named attribute is not found.
708
- """
709
-
710
- # Look in the underlying _MetaExpression for columns
711
- for col in self._metaexpr.c:
712
- if col.name == name:
713
- col._parent_df = self
714
- return col
715
-
716
- # If "name" is present in any of the following 'GeospatialConstants'
717
- # 1. GeospatialConstants.PROPERTY_TO_NO_ARG_SQL_FUNCTION_NAME
718
- # 2. GeospatialConstants.METHOD_TO_ARG_ACCEPTING_SQL_FUNCTION_NAME
719
- # 3. GeospatialConstants.METHOD_TO_NO_ARG_SQL_FUNCTION_NAME
720
- # that means, it's a function that operates on Geometry Data.
721
- #
722
- # Look for such function names.
723
- if name in GeospatialConstants.PROPERTY_TO_NO_ARG_SQL_FUNCTION_NAME.value:
724
- # Geospatial functions which are exposed as property of teradataml
725
- # GeoDataFrame.
726
- return self.__process_geometry(func_name=name, all_geom=False,
727
- property=True)
728
-
729
- if name in GeospatialConstants.METHOD_TO_ARG_ACCEPTING_SQL_FUNCTION_NAME.value \
730
- or name in GeospatialConstants.METHOD_TO_NO_ARG_SQL_FUNCTION_NAME.value:
731
- # Geospatial functions which are exposed as method of teradataml
732
- # GeoDataFrame.
733
- return lambda *args, **kwargs: \
734
- self.__process_geometry(name, *args, **kwargs)
735
-
736
- # TODO - Raise error or Keep it open ended to accept SQL Function names.
737
- raise AttributeError("'GeoDataFrame' object has no attribute %s" % name)
738
-
739
- def __process_geometry(self, func_name, *args, **kwargs):
740
- """
741
- Function helps to execute the Geospatial function on the column(s)
742
- containing geometry data.
743
-
744
- PARAMETERS:
745
- func_name:
746
- Required Argument.
747
- Specifies the name of the function to execute.
748
- Types: string
749
-
750
- all_geom:
751
- Optional Argument.
752
- Specifies whether to execute the function on all geometry
753
- columns in the GeoDataFrame or not.
754
- When set to 'True', geospatial function specified in
755
- "func_name", is executed on all the columns containing
756
- geometry data, i.e., geospatial data.
757
- When set to 'False', geospatial function specified in
758
- "func_name", is executed only on the column represented
759
- by the 'GeoDataFrame.geometry' property.
760
- Default Value: False
761
- Types: bool
762
-
763
- property:
764
- Optional Argument.
765
- Specifies whether the function being executed should be treated
766
- as GeoDataFrame property or not.
767
- When set to 'True', geospatial function specified in
768
- "func_name", is treated as property, otherwise treated as
769
- method.
770
- Default Value: False
771
- Types: bool
772
-
773
- *args:
774
- Positional arguments passed to the method, i.e., geospatial
775
- function.
776
-
777
- **kwargs:
778
- Keyword arguments passed to the method, i.e., geospatial
779
- function.
780
-
781
- RETURNS:
782
- DataFrame or GeoDataFrame
783
-
784
- RAISES:
785
- None.
786
-
787
- EXAMPLES:
788
- self.__process_geometry(fname, all_geom, False, *c, **kwargs)
789
- """
790
- property = kwargs.pop("property", False)
791
- all_geom = kwargs.pop("all_geom", False)
792
- assign_args = {}
793
- if not all_geom:
794
- # Function will be run only on column represented by
795
- # 'GeoDataFrame.geometry' property.
796
- new_col = "{}_{}_geom".format(func_name, self.geometry.name)
797
- if property:
798
- # If property is set to True, then no need to pass **kwargs and
799
- # no need to invoke the call with parenthesis '()'.
800
- assign_args[new_col] = self.geometry[func_name]
801
- else:
802
- # Pass *args and **kwargs as function accepts arguments.
803
- assign_args[new_col] = self.geometry[func_name](*args, **kwargs)
804
- else:
805
- # Function will be run on all column(s) containing geometry data.
806
- # Columns containing geometry data can be following types:
807
- # 1. ST_GEOMETRY
808
- # 2. MBR
809
- # 3. MBB
810
- for col in self._metaexpr.c:
811
- if col.type in [GEOMETRY, MBR, MBB]:
812
- new_col = "{}_{}".format(func_name, col.name)
813
- if property:
814
- # If property is set to True, then no need to pass
815
- # **kwargs and no need to invoke the call with
816
- # parenthesis '()'.
817
- assign_args[new_col] = self[col.name][func_name]
818
- else:
819
- # Pass *args and **kwargs as function accepts arguments.
820
- assign_args[new_col] = self[col.name][func_name](*args,
821
- **kwargs)
822
-
823
- return self.assign(**assign_args)
824
-
825
- @property
826
- def geometry(self):
827
- """
828
- DESCRIPTION:
829
- Returns a GeoColumnExpression for a column containing geometry data.
830
- If GeoDataFrame contains, multiple columns containing geometry data,
831
- then it returns reference to only one of them.
832
- Columns containing geometry data can be of following types:
833
- 1. ST_GEOMETRY
834
- 2. MBB
835
- 3. MBR
836
- Refer 'GeoDataFrame.tdtypes' to view the Teradata column data types.
837
-
838
- Note:
839
- This property is used to execute any geospatial operation on
840
- GeoDataFrame, i.e., any geospatial function executed on
841
- GeoDataFrame, is executed on the geomtry column referenced by
842
- this property.
843
-
844
- RETURNS:
845
- GeoDataFrameColumn
846
-
847
- EXAMPLES:
848
- >>> load_example_data("geodataframe", ["sample_cities", "sample_streets"])
849
- >>> cities = GeoDataFrame("sample_cities")
850
- >>> streets = GeoDataFrame("sample_streets")
851
- >>> city_streets = cities.join(streets, how="cross", lsuffix="l", rsuffix="r")
852
- >>> city_streets
853
- l_skey r_skey city_name city_shape street_name street_shape
854
- 0 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Main Street LINESTRING (2 2,3 2,4 1)
855
- 1 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Coast Blvd LINESTRING (12 12,18 17)
856
- 2 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Coast Blvd LINESTRING (12 12,18 17)
857
- 3 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Main Street LINESTRING (2 2,3 2,4 1)
858
- >>>
859
-
860
- # Check the name of the column containing geometry data, where
861
- # 'geometry' property references.
862
- >>> city_streets.geometry.name
863
- 'city_shape'
864
- >>>
865
-
866
- # Check all the column types.
867
- >>> city_streets.tdtypes
868
- l_skey INTEGER()
869
- r_skey INTEGER()
870
- city_name VARCHAR(length=40, charset='LATIN')
871
- city_shape GEOMETRY()
872
- street_name VARCHAR(length=40, charset='LATIN')
873
- street_shape GEOMETRY()
874
- >>>
875
- >>>
876
-
877
- # Set the 'geometry' property to refer 'street_shape' column.
878
- >>> city_streets.geometry = city_streets.street_shape
879
- >>> city_streets.geometry.name
880
- 'street_shape'
881
- >>>
882
-
883
- # Check whether the geometry referenced by 'geometry' property are 3D
884
- # or not.
885
- >>> city_streets.is_3D
886
- l_skey r_skey city_name city_shape street_name street_shape is_3D_street_shape_geom
887
- 0 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Main Street LINESTRING (2 2,3 2,4 1) 0
888
- 1 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Coast Blvd LINESTRING (12 12,18 17) 0
889
- 2 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Coast Blvd LINESTRING (12 12,18 17) 0
890
- 3 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Main Street LINESTRING (2 2,3 2,4 1) 0
891
- >>>
892
-
893
- # Use the geometry property to execute multiple geospatial functions
894
- # in conjunctions with GeoDataFrame.assign()
895
- # Get the geometry type.
896
- >>> geom_type = city_streets.geometry.geom_type
897
- # Check if geometry is simple or not.
898
- >>> is_simple = city_streets.geometry.is_simple
899
- # Check if geometry is valid or not.
900
- >>> is_valid = city_streets.geometry.is_valid
901
- >>>
902
- # Call GeoDataFrame.assign() and pass the above GeoDataFrameColumn, i.e.,
903
- # ColumnExpressions as input.
904
- >>> city_streets.assign(geom_type = geom_type,
905
- ... is_simple = is_simple,
906
- ... is_valid = is_valid
907
- ... )
908
- l_skey r_skey city_name city_shape street_name street_shape geom_type is_simple is_valid
909
- 0 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Main Street LINESTRING (2 2,3 2,4 1) ST_LineString 1 1
910
- 1 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Coast Blvd LINESTRING (12 12,18 17) ST_LineString 1 1
911
- 2 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Coast Blvd LINESTRING (12 12,18 17) ST_LineString 1 1
912
- 3 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Main Street LINESTRING (2 2,3 2,4 1) ST_LineString 1 1
913
- >>>
914
- """
915
- # Check if attribute __geom_column is already set or not.
916
- if self.__geom_column is not None:
917
- return self.__geom_column
918
- else:
919
- # No geom column identified, iterate over the columns
920
- # and set the attribute and return the same.
921
- for col in self._metaexpr.c:
922
- if isinstance(col.type, (GEOMETRY, MBR, MBB)):
923
- self.__geom_column = col
924
- return col
925
-
926
- @geometry.setter
927
- def geometry(self, column):
928
- """
929
- DESCRIPTION:
930
- Sets the geometry property to new geometry column.
931
-
932
- PARAMETERS:
933
- column:
934
- Required Argument.
935
- Specifies the column used for setting the 'geometry'
936
- property. Column passed to the function must contain the
937
- geometry data, i.e., column should be of type GEOMETRY, MBR,
938
- or MBB.
939
- Types: str or GeoDataFrameColumn
940
-
941
- RAISES:
942
- TeradataMlException
943
-
944
- EXAMPLES:
945
- # Set the property by passing the column name.
946
- df.geometry = "geom_column"
947
-
948
- # Set the property by passing the GeoDataFrameColumn.
949
- df.geometry = df.geom_column
950
- """
951
- awu_matrix = []
952
- awu_matrix.append(["column", column, False, (str, GeoDataFrameColumn),
953
- True])
954
-
955
- # Validate argument types
956
- _Validators._validate_function_arguments(awu_matrix)
957
-
958
- if isinstance(column, str):
959
- column = getattr(self, column)
960
-
961
- supported_types = (GEOMETRY, MBR, MBB)
962
- if not isinstance(column.type, supported_types):
963
- err_fmt = Messages.get_message(MessageCodes.INVALID_COLUMN_DATATYPE)
964
- err_ = err_fmt.format(column.name, "column", "Supported",
965
- supported_types)
966
- raise TeradataMlException(err_, MessageCodes.INVALID_COLUMN_DATATYPE)
967
-
968
- self.__geom_column = column
969
-
970
- def _create_dataframe_from_node(self, nodeid, metaexpr, index_label, undropped_columns=None):
971
- """
972
- DESCRIPTION:
973
- This function overrides the parent method, that creates the
974
- dataframe from node, i.e., using '_Parent_from_node' function.
975
-
976
- Parent class always returns a teradataml DataFrame, but for
977
- GeoDataFrame, we will return teradataml DataFrame or teradataml
978
- GeoDataFrame, based on whether the resultant DataFrame contains
979
- geometry column or not.
980
-
981
- PARAMETERS:
982
- nodeid:
983
- Required Argument.
984
- Specifies the nodeid for the DataFrame or GeoDataFrame.
985
- Types: str
986
-
987
- metaexpr:
988
- Required Argument.
989
- Specifies the metadata for the resultant object.
990
- Types: _MetaExpression
991
-
992
- index_label:
993
- Required Argument.
994
- Specifies list specifying index column(s) for the DataFrame.
995
- Types: str OR list of Strings (str)
996
-
997
- undropped_columns:
998
- Optional Argument.
999
- Specifies list of index column(s) to be retained as columns for printing.
1000
- Types: list
1001
-
1002
- RETURNS:
1003
- teradataml DataFrame or teradataml GeoDataFrame
1004
-
1005
- RAISES:
1006
- None
1007
-
1008
- EXAMPLES:
1009
- self._create_dataframe_from_node(new_nodeid, new_meta,
1010
- self._index_label, undropped_columns)
1011
- """
1012
- # TODO: <DEPENDENT_ON_GEOMETRY_DATATYPES_SUPPORT_IN_teradatasqlalchemy>
1013
- # 1. Add the test cases.
1014
- # a. Run teradataml DataFrame functions, that will result in
1015
- # dropping the geometry datatype columns.
1016
- # b. Run GeoDataFrame.assign() with "drop_columns=True" and
1017
- # run geospatial function on a column, a function that will
1018
- # not return the Geometry data type column.
1019
- # All other cases, this should return the object of this class.
1020
- if not self._check_geom_column(metaexpr):
1021
- # If generated metaexpr does not contain a geometry column
1022
- # then we should return the teradataml DataFrame.
1023
- return DataFrame._from_node(nodeid, metaexpr, index_label, undropped_columns)
1024
- else:
1025
- # Return the teradataml GeoDataFrame.
1026
- return self._from_node(nodeid, metaexpr, index_label, undropped_columns)
1027
-
1028
- def _get_metadata_from_metaexpr(self, metaexpr):
1029
- """
1030
- Private method for setting _metaexpr and retrieving column names and types.
1031
-
1032
- PARAMETERS:
1033
- metaexpr - Parent meta data (_MetaExpression object).
1034
-
1035
- RETURNS:
1036
- None
1037
-
1038
- RAISES:
1039
- None
1040
-
1041
- EXAMPLE:
1042
- self._get_metadata_from_metaexpr(metaexpr)
1043
- """
1044
- self._metaexpr = self._generate_child_metaexpr(metaexpr)
1045
- self._column_names_and_types = []
1046
- self._td_column_names_and_types = []
1047
- self._td_column_names_and_sqlalchemy_types = {}
1048
- for col in self._metaexpr.c:
1049
- if isinstance(col.type, sqlalchemy.sql.sqltypes.NullType):
1050
- tdtype = TeradataTypes.TD_NULL_TYPE.value
1051
- else:
1052
- tdtype = "{}".format(col.type)
1053
-
1054
- self._column_names_and_types.append((str(col.name), UtilFuncs._teradata_type_to_python_type(col.type)))
1055
- self._td_column_names_and_types.append((str(col.name), tdtype))
1056
- self._td_column_names_and_sqlalchemy_types[(str(col.name)).lower()] = col.type
1057
-
1058
- # Set the Geometry column, which will be used as "geometry"
1059
- # property.
1060
- if self.__geom_column is None and \
1061
- isinstance(col.type, (GEOMETRY, MBR, MBB)):
1062
- self.__geom_column = col
1063
-
1064
- if self.__geom_column is None:
1065
- error_code = MessageCodes.NO_GEOM_COLUMN_EXIST
1066
- raise TeradataMlException(Messages.get_message(error_code), error_code)
1067
-
1068
-
1069
- def _generate_child_metaexpr(self, metaexpr):
1070
- """
1071
- Internal function that generates the metaexpression by converting
1072
- _SQLColumnExpression to GeoDataFrameColumn.
1073
-
1074
- PARAMETERS:
1075
- metaexpr:
1076
- Required Arguments.
1077
- Specifies the metaexpression to update.
1078
- Types: _MetaExpression
1079
-
1080
- RETURNS:
1081
- _MetaExpression
1082
-
1083
- RAISES:
1084
- None.
1085
-
1086
- EXAMPLES:
1087
- self._metaexpr = self._generate_child_metaexpr(metaexpr)
1088
- """
1089
- metaexpr.c = [GeoDataFrameColumn(col.expression)
1090
- if not isinstance(col, GeoDataFrameColumn) else col
1091
- for col in metaexpr.c]
1092
- return metaexpr
1093
-
1094
-
1
+ # ##################################################################
2
+ #
3
+ # Copyright 2021 Teradata. All rights reserved.
4
+ # TERADATA CONFIDENTIAL AND TRADE SECRET
5
+ #
6
+ # Primary Owner: Pankaj Purandare (pankajvinod.purandare@teradata.com)
7
+ # Secondary Owner:
8
+ #
9
+ # This file implements teradataml GeoDataFrame.
10
+ # teradataml GeoDataFrame allows user to access table on Vantage
11
+ # containing Geometry or Geospatial data.
12
+ #
13
+ # ##################################################################
14
+ import sqlalchemy
15
+ from teradataml.common.constants import GeospatialConstants, TeradataTypes
16
+ from teradataml.common.messagecodes import MessageCodes
17
+ from teradataml.common.messages import Messages
18
+ from teradataml.common.utils import UtilFuncs
19
+ from teradataml.common.exceptions import TeradataMlException
20
+ from teradataml.dataframe.dataframe import DataFrame
21
+ from teradataml.geospatial.geodataframecolumn import GeoDataFrameColumn
22
+ from teradataml.plot.plot import _Plot
23
+ from teradataml.utils.validators import _Validators
24
+ from teradatasqlalchemy import (GEOMETRY, MBR, MBB)
25
+ from teradatasqlalchemy.telemetry.queryband import collect_queryband
26
+
27
+ class GeoDataFrame(DataFrame):
28
+ """
29
+ The teradataml GeoDataFrame enables data manipulation, exploration, and
30
+ analysis on tables, views, and queries on Teradata Vantage that contains
31
+ Geospatial data.
32
+ """
33
+
34
+ @collect_queryband(queryband="GDF")
35
+ def __init__(self, table_name=None, index=True, index_label=None,
36
+ query=None, materialize=False):
37
+ """
38
+ Constructor for teradataml GeoDataFrame.
39
+
40
+ PARAMETERS:
41
+ table_name:
42
+ Optional Argument.
43
+ The table name or view name in Teradata Vantage referenced by this DataFrame.
44
+ Types: str
45
+
46
+ index:
47
+ Optional Argument.
48
+ True if using index column for sorting, otherwise False.
49
+ Default Value: True
50
+ Types: bool
51
+
52
+ index_label:
53
+ Optional Argument.
54
+ Column/s used for sorting.
55
+ Types: str OR list of Strings (str)
56
+
57
+ query:
58
+ Optional Argument.
59
+ SQL query for this Dataframe. Used by class method from_query.
60
+ Types: str
61
+
62
+ materialize:
63
+ Optional Argument.
64
+ Whether to materialize DataFrame or not when created.
65
+ Used by class method from_query.
66
+
67
+ One should use enable materialization, when the query passed
68
+ to from_query(), is expected to produce non-deterministic
69
+ results, when it is executed multiple times. Using this option
70
+ will help user to have deterministic results in the resulting
71
+ teradataml GeoDataFrame.
72
+ Default Value: False (No materialization)
73
+ Types: bool
74
+
75
+ EXAMPLES:
76
+ from teradataml.dataframe.dataframe import DataFrame
77
+ df = DataFrame("mytab")
78
+ df = DataFrame("myview")
79
+ df = DataFrame("myview", False)
80
+ df = DataFrame("mytab", True, "Col1, Col2")
81
+
82
+ RAISES:
83
+ TeradataMlException - TDMLDF_CREATE_FAIL
84
+ """
85
+ self.__geom_column = None
86
+ # Call super(), to process the inputs.
87
+ super().__init__(table_name=table_name, index=index,
88
+ index_label=index_label, query=query,
89
+ materialize=materialize)
90
+
91
+ def _check_geom_column(self, metaexpr=None):
92
+ """
93
+ DESCRIPTION:
94
+ Internal function to whether the metaexpr contains a geospatial
95
+ type column or not.
96
+
97
+ PARAMETERS:
98
+ metaexpr:
99
+ Required Argument.
100
+ Specifies the teradataml DataFrame/teradataml GeoDataFrame
101
+ metaexpr to validate for geospatial content.
102
+ Types: _MetaExpression
103
+
104
+ RETURNS:
105
+ boolean.
106
+ True if Geospatial data type column exists, False otherwise.
107
+
108
+ RAISES:
109
+ None.
110
+
111
+ EXAMPLES:
112
+ self._check_geom_column(metaexpr)
113
+ """
114
+ if metaexpr is None:
115
+ metaexpr = self._metaexpr.c
116
+ for col in metaexpr.c:
117
+ if isinstance(col.type, (GEOMETRY, MBR, MBB)):
118
+ return True
119
+ return False
120
+
121
+ @collect_queryband(queryband="GDF_plot")
122
+ def plot(self, x=None, y=None, kind="geometry", **kwargs):
123
+ """
124
+ DESCRIPTION:
125
+ Generate plots on teradataml GeoDataFrame. Following type of plots
126
+ are supported, which can be specified using argument "kind":
127
+ * geometry plot
128
+ * bar plot
129
+ * corr plot
130
+ * line plot
131
+ * mesh plot
132
+ * scatter plot
133
+ * wiggle plot
134
+ Notes:
135
+ * Geometry plot is generated based on geometry column in teradataml GeoDataFrame.
136
+ * Only the columns with ST_GEOMETRY type are allowed for generating geometry plot.
137
+ * The maximum size for ST_GEOMETRY must be less than or equal to 64000.
138
+ * The ST_GEOMETRY shape can be POINT, LINESTRING etc. It is POLGYON that allows
139
+ filling of different colors.
140
+
141
+ PARAMETERS:
142
+ x:
143
+ Optional Argument.
144
+ Specifies a GeoDataFrame column to use for the x-axis data.
145
+ Note:
146
+ "x" is not significant for geometry plots. For other plots
147
+ it is mandatory argument.
148
+ Types: teradataml GeoDataFrame Column
149
+
150
+ y:
151
+ Required Argument.
152
+ Specifies GeoDataFrame column(s) to use for the y-axis data.
153
+ Notes:
154
+ * Geometry plot always requires geometry column and corresponding 'weight'
155
+ column. 'weight' column represents the weight of a shape mentioned in
156
+ geometry column.
157
+ * If user does not specify geometry column, the default geometry column
158
+ is considered for plotting.
159
+ Types: teradataml GeoDataFrame Column OR tuple of GeoDataFrame Column OR list of teradataml GeoDataFrame Columns.
160
+
161
+ scale:
162
+ Optional Argument.
163
+ Specifies GeoDataFrame column to use for scale data to
164
+ wiggle and mesh plots.
165
+ Note:
166
+ "scale" is significant for wiggle and mesh plots. Ignored for other
167
+ type of plots.
168
+ Types: teradataml GeoDataFrame Column.
169
+
170
+ kind:
171
+ Optional Argument.
172
+ Specifies the kind of plot.
173
+ Permitted Values:
174
+ * 'geometry'
175
+ * 'line'
176
+ * 'bar'
177
+ * 'scatter'
178
+ * 'corr'
179
+ * 'wiggle'
180
+ * 'mesh'
181
+ Default Value: geometry
182
+ Types: str
183
+
184
+ ax:
185
+ Optional Argument.
186
+ Specifies the axis for the plot.
187
+ Types: Axis
188
+
189
+ cmap:
190
+ Optional Argument.
191
+ Specifies the name of the colormap to be used for plotting.
192
+ Notes:
193
+ * Significant only when corresponding type of plot is mesh or geometry.
194
+ * Ignored for other type of plots.
195
+ Permitted Values:
196
+ * All the colormaps mentioned in below URLs are supported.
197
+ * https://matplotlib.org/stable/tutorials/colors/colormaps.html
198
+ * https://matplotlib.org/cmocean/
199
+ Types: str
200
+
201
+ color:
202
+ Optional Argument.
203
+ Specifies the color for the plot.
204
+ Note:
205
+ Hexadecimal color codes are not supported.
206
+ Permitted Values:
207
+ * 'blue'
208
+ * 'orange'
209
+ * 'green'
210
+ * 'red'
211
+ * 'purple'
212
+ * 'brown'
213
+ * 'pink'
214
+ * 'gray'
215
+ * 'olive'
216
+ * 'cyan'
217
+ * Apart from above mentioned colors, the colors mentioned in
218
+ https://xkcd.com/color/rgb are also supported.
219
+ Default Value: 'blue'
220
+ Types: str OR list of str
221
+
222
+ figure:
223
+ Optional Argument.
224
+ Specifies the figure for the plot.
225
+ Types: Figure
226
+
227
+ figsize:
228
+ Optional Argument.
229
+ Specifies the size of the figure in a tuple of 2 elements. First
230
+ element represents width of plot image in pixels and second
231
+ element represents height of plot image in pixels.
232
+ Default Value: (640, 480)
233
+ Types: tuple
234
+
235
+ figtype:
236
+ Optional Argument.
237
+ Specifies the type of the image to generate.
238
+ Permitted Values:
239
+ * 'png'
240
+ * 'jpg'
241
+ * 'svg'
242
+ Default Value: png
243
+ Types: str
244
+
245
+ figdpi:
246
+ Optional Argument.
247
+ Specifies the dots per inch for the plot image.
248
+ Note:
249
+ * Valid range for "dpi" is: 72 <= width <= 300.
250
+ Default Value: 100 for PNG and JPG Type image.
251
+ Types: int
252
+
253
+ grid_color:
254
+ Optional Argument.
255
+ Specifies the color of the grid.
256
+ Note:
257
+ Hexadecimal color codes are not supported.
258
+ Permitted Values:
259
+ * 'blue'
260
+ * 'orange'
261
+ * 'green'
262
+ * 'red'
263
+ * 'purple'
264
+ * 'brown'
265
+ * 'pink'
266
+ * 'gray'
267
+ * 'olive'
268
+ * 'cyan'
269
+ * Apart from above mentioned colors, the colors mentioned in
270
+ https://xkcd.com/color/rgb are also supported.
271
+ Default Value: gray
272
+ Types: str
273
+
274
+ grid_format:
275
+ Optional Argument.
276
+ Specifies the format for the grid.
277
+ Types: str
278
+
279
+ grid_linestyle:
280
+ Optional Argument.
281
+ Specifies the line style of the grid.
282
+ Permitted Values:
283
+ * -
284
+ * --
285
+ * -.
286
+ Default Value: -
287
+ Types: str
288
+
289
+ grid_linewidth:
290
+ Optional Argument.
291
+ Specifies the line width of the grid.
292
+ Note:
293
+ Valid range for "grid_linewidth" is: 0.5 <= grid_linewidth <= 10.
294
+ Default Value: 0.8
295
+ Types: int OR float
296
+
297
+ heading:
298
+ Optional Argument.
299
+ Specifies the heading for the plot.
300
+ Types: str
301
+
302
+ legend:
303
+ Optional Argument.
304
+ Specifies the legend(s) for the Plot.
305
+ Types: str OR list of str
306
+
307
+ legend_style:
308
+ Optional Argument.
309
+ Specifies the location for legend to display on Plot image. By default,
310
+ legend is displayed at upper right corner.
311
+ Permitted Values:
312
+ * 'upper right'
313
+ * 'upper left'
314
+ * 'lower right'
315
+ * 'lower left'
316
+ * 'right'
317
+ * 'center left'
318
+ * 'center right'
319
+ * 'lower center'
320
+ * 'upper center'
321
+ * 'center'
322
+ Default Value: 'upper right'
323
+ Types: str
324
+
325
+ linestyle:
326
+ Optional Argument.
327
+ Specifies the line style for the plot.
328
+ Permitted Values:
329
+ * -
330
+ * --
331
+ * -.
332
+ * :
333
+ Default Value: -
334
+ Types: str OR list of str
335
+
336
+ linewidth:
337
+ Optional Argument.
338
+ Specifies the line width for the plot.
339
+ Note:
340
+ Valid range for "linewidth" is: 0.5 <= linewidth <= 10.
341
+ Default Value: 0.8
342
+ Types: int OR float OR list of int OR list of float
343
+
344
+ marker:
345
+ Optional Argument.
346
+ Specifies the type of the marker to be used.
347
+ Permitted Values:
348
+ All the markers mentioned in https://matplotlib.org/stable/api/markers_api.html
349
+ are supported.
350
+ Types: str OR list of str
351
+
352
+ markersize:
353
+ Optional Argument.
354
+ Specifies the size of the marker.
355
+ Note:
356
+ Valid range for "markersize" is: 1 <= markersize <= 20.
357
+ Default Value: 6
358
+ Types: int OR float OR list of int OR list of float
359
+
360
+ position:
361
+ Optional Argument.
362
+ Specifies the position of the axis in the figure. Accepts a tuple
363
+ of two elements where first element represents the row and second
364
+ element represents column.
365
+ Default Value: (1, 1)
366
+ Types: tuple
367
+
368
+ span:
369
+ Optional Argument.
370
+ Specifies the span of the axis in the figure. Accepts a tuple
371
+ of two elements where first element represents the row and second
372
+ element represents column.
373
+ For Example,
374
+ Span of (2, 1) specifies the Axis occupies 2 rows and 1 column
375
+ in Figure.
376
+ Default Value: (1, 1)
377
+ Types: tuple
378
+
379
+ reverse_xaxis:
380
+ Optional Argument.
381
+ Specifies whether to reverse tick values on x-axis or not.
382
+ Default Value: False
383
+ Types: bool
384
+
385
+ reverse_yaxis:
386
+ Optional Argument.
387
+ Specifies whether to reverse tick values on y-axis or not.
388
+ Default Value: False
389
+ Types: bool
390
+
391
+ series_identifier:
392
+ Optional Argument.
393
+ Specifies the teradataml GeoDataFrame Column which represents the
394
+ identifier for the data. As many plots as distinct "series_identifier"
395
+ are generated in a single Axis.
396
+ For example:
397
+ consider the below data in teradataml GeoDataFrame.
398
+ ID x y
399
+ 0 1 1 1
400
+ 1 1 2 2
401
+ 2 2 10 10
402
+ 3 2 20 20
403
+ If "series_identifier" is not specified, simple plot is
404
+ generated where every 'y' is plotted against 'x' in a
405
+ single plot. However, specifying "series_identifier" as 'ID'
406
+ generates two plots in a single axis. One plot is for ID 1
407
+ and another plot is for ID 2.
408
+ Types: teradataml GeoDataFrame Column.
409
+
410
+ title:
411
+ Optional Argument.
412
+ Specifies the title for the Axis.
413
+ Types: str
414
+
415
+ xlabel:
416
+ Optional Argument.
417
+ Specifies the label for x-axis.
418
+ Notes:
419
+ * When set to empty string, label is not displayed for x-axis.
420
+ * When set to None, name of the x-axis column is displayed as
421
+ label.
422
+ Types: str
423
+
424
+ xlim:
425
+ Optional Argument.
426
+ Specifies the range for xtick values.
427
+ Types: tuple
428
+
429
+ xtick_format:
430
+ Optional Argument.
431
+ Specifies whether to format tick values for x-axis or not.
432
+ Types: str
433
+
434
+ ylabel:
435
+ Optional Argument.
436
+ Specifies the label for y-axis.
437
+ Notes:
438
+ * When set to empty string, label is not displayed for y-axis.
439
+ * When set to None, name of the y-axis column(s) is displayed as
440
+ label.
441
+ Types: str
442
+
443
+ ylim:
444
+ Optional Argument.
445
+ Specifies the range for ytick values.
446
+ Types: tuple
447
+
448
+ ytick_format:
449
+ Optional Argument.
450
+ Specifies whether to format tick values for y-axis or not.
451
+ Types: str
452
+
453
+ vmin:
454
+ Optional Argument.
455
+ Specifies the lower range of the color map. By default, the range
456
+ is derived from data and color codes are assigned accordingly.
457
+ Note:
458
+ "vmin" Significant only for Geometry Plot.
459
+ Types: int OR float
460
+
461
+ vmax:
462
+ Optional Argument.
463
+ Specifies the upper range of the color map. By default, the range is
464
+ derived from data and color codes are assigned accordingly.
465
+ Note:
466
+ "vmax" Significant only for Geometry Plot.
467
+ For example:
468
+ Assuming user wants to use colormap 'matter' and derive the colors for
469
+ values which are in between 1 and 100.
470
+ Note:
471
+ colormap 'matter' starts with Pale Yellow and ends with Violet.
472
+ * If "colormap_range" is not specified, then range is derived from
473
+ existing values. Thus, colors are represented as below in the whole range:
474
+ * 1 as Pale Yellow.
475
+ * 100 as Violet.
476
+ * If "colormap_range" is specified as -100 and 100, the value 1 is at middle of
477
+ the specified range. Thus, colors are represented as below in the whole range:
478
+ * -100 as Pale Yellow.
479
+ * 1 as Orange.
480
+ * 100 as Violet.
481
+ Types: int OR float
482
+
483
+ wiggle_fill:
484
+ Optional Argument.
485
+ Specifies whether to fill the wiggle area or not. By default, the right
486
+ positive half of the wiggle is not filled. If specified as True, wiggle
487
+ area is filled.
488
+ Note:
489
+ Applicable only for the wiggle plot.
490
+ Default Value: False
491
+ Types: bool
492
+
493
+ wiggle_scale:
494
+ Optional Argument.
495
+ Specifies the scale of the wiggle. By default, the amplitude of wiggle is scaled
496
+ relative to RMS of the first payload. In certain cases, it can lead to excessively
497
+ large wiggles. Use "wiggle_scale" to adjust the relative size of the wiggle.
498
+ Note:
499
+ Applicable only for the wiggle and mesh plots.
500
+ Types: int OR float
501
+
502
+ ignore_nulls:
503
+ Optional Argument.
504
+ Specifies whether to delete rows with null values or not present in 'x', 'y' and
505
+ 'scale' params.
506
+ Default Value: False
507
+ Types: bool
508
+
509
+
510
+ RAISES:
511
+ TeradataMlException
512
+
513
+ EXAMPLES:
514
+ >>> load_example_data("geodataframe", ["sample_shapes"])
515
+ >>> shapes_df = GeoDataFrame("sample_shapes")
516
+ >>> shapes_df
517
+ points linestrings polygons geom_collections geosequence
518
+ skey
519
+ 1006 POINT (235.52 54.546 7.4564) LINESTRING (1.35 3.6456 4.5,3. POLYGON ((0 0 0,0 0 20,0 20 0, None None
520
+ 1007 MULTIPOINT (1 1,1 3,6 3,10 5,2 MULTILINESTRING ((1 1,1 3,6 3) MULTIPOLYGON (((1 1,1 3,6 3,6 None None
521
+ 1005 POINT (1 3 5) LINESTRING (1 3 6,3 0 6,6 0 1) POLYGON ((0 0 0,0 0 20.435,0.0 GEOMETRYCOLLECTION (POINT (10 None
522
+ 1004 POINT (10 20 30) LINESTRING (10 20 30,40 50 60, POLYGON ((0 0 0,0 10 20,20 20 GEOMETRYCOLLECTION (POINT (10 None
523
+ 1003 POINT (235.52 54.546) LINESTRING (1.35 3.6456,3.6756 POLYGON ((0.6 0.8,0.6 20.8,20. None None
524
+ 1001 POINT (10 20) LINESTRING (1 1,2 2,3 3,4 4) POLYGON ((0 0,0 20,20 20,20 0, GEOMETRYCOLLECTION (POINT (10 GEOSEQUENCE((10 20,30 40,50 60
525
+ 1002 POINT (1 3) LINESTRING (1 3,3 0,0 1) POLYGON ((0 0,0 20,20 20,20 0, None GEOSEQUENCE((10 10,15 15,-2 0)
526
+ 1009 MULTIPOINT (10 20 30,40 50 60, MULTILINESTRING ((10 20 30,40 MULTIPOLYGON (((0 0 0,0 20 20, None None
527
+ 1008 MULTIPOINT (1.65 1.76,1.23 3.7 MULTILINESTRING ((1 3,3 0,0 1) MULTIPOLYGON (((0 0,0 20,20 20 None None
528
+ 1010 MULTIPOINT (10.345 20.32 30.6, MULTILINESTRING ((1 3 6,3 0 6, MULTIPOLYGON (((0 0 0,0 0 20,0 None None
529
+ >>>
530
+ >>> load_example_data("geodataframe", ["us_population", "us_states_shapes"])
531
+ >>> us_population = DataFrame("us_population")
532
+ >>> us_population
533
+ location_type population_year population
534
+ state_name
535
+ Georgia State 1930 2908506.0
536
+ Georgia State 1950 3444578.0
537
+ Georgia State 1960 3943116.0
538
+ Georgia State 1970 4589575.0
539
+ Georgia State 1990 6478216.0
540
+ Georgia State 2000 8186453.0
541
+ Georgia State 1980 5463105.0
542
+ Georgia State 1940 3123723.0
543
+ Georgia State 1920 2895832.0
544
+ Georgia State 1910 2609121.0
545
+ >>> us_states_shapes = GeoDataFrame("us_states_shapes")
546
+ >>> us_states_shapes
547
+ state_name state_shape
548
+ id
549
+ NM New Mexico POLYGON ((472.45213 324.75551,
550
+ VA Virginia POLYGON ((908.75086 270.98255,
551
+ ND North Dakota POLYGON ((556.50879 73.847349,
552
+ OK Oklahoma POLYGON ((609.50526 322.91131,
553
+ WI Wisconsin POLYGON ((705.79187 134.80299,
554
+ RI Rhode Island POLYGON ((946.50841 152.08022,
555
+ HI Hawaii POLYGON ((416.34965 514.99923,
556
+ KY Kentucky POLYGON ((693.17367 317.18459,
557
+ WV West Virginia POLYGON ((836.73002 223.71281,
558
+ NJ New Jersey POLYGON ((916.80709 207.30914,
559
+ >>>
560
+ >>> # Join shapes with population and filter only 1990 data.
561
+ >>> population_data = us_states_shapes.join(us_population,
562
+ ... on=us_population.state_name == us_states_shapes.state_name,
563
+ ... lsuffix="us",
564
+ ... rsuffix="t2")
565
+ >>> population_data = population_data.select(["us_state_name", "state_shape", "population_year", "population"])
566
+ >>> type(population_data)
567
+ teradataml.geospatial.geodataframe.GeoDataFrame
568
+ >>>
569
+
570
+ # Example 1: Generate the geometry plot to show the density of population
571
+ # across the US states in year 1990.
572
+ >>> population_data_1990 = population_data[population_data.population_year == 1990]
573
+ >>> population_data_1990
574
+ us_state_name state_shape population_year population
575
+ 0 New Mexico POLYGON ((472.45213 324.75551, 1990 1515069.0
576
+ 1 Hawaii POLYGON ((416.34965 514.99923, 1990 1108229.0
577
+ 2 Kentucky POLYGON ((693.17367 317.18459, 1990 3685296.0
578
+ 3 New Jersey POLYGON ((916.80709 207.30914, 1990 7730188.0
579
+ 4 North Dakota POLYGON ((556.50879 73.847349, 1990 638800.0
580
+ 5 Oklahoma POLYGON ((609.50526 322.91131, 1990 3145585.0
581
+ 6 West Virginia POLYGON ((836.73002 223.71281, 1990 1793477.0
582
+ 7 Wisconsin POLYGON ((705.79187 134.80299, 1990 4891769.0
583
+ 8 Virginia POLYGON ((908.75086 270.98255, 1990 6187358.0
584
+ 9 Rhode Island POLYGON ((946.50841 152.08022, 1990 1003464.0
585
+ >>>
586
+ >>> # Define Figure.
587
+ >>> from teradataml import Figure
588
+ >>> figure = Figure(width=1500, height=862, heading="Geometry Plot")
589
+ >>> figure.heading = "Geometry Plot"
590
+ >>>
591
+ >>> plot_1990 = population_data_1990.plot(y=population_data_1990.population,
592
+ ... cmap='rainbow',
593
+ ... figure=figure,
594
+ ... reverse_yaxis=True,
595
+ ... title="US 1990 Population",
596
+ ... xlabel="",
597
+ ... ylabel="")
598
+ >>>
599
+ >>> plot_1990.show()
600
+
601
+ # Example 2: Plot a geometry plot for a single polygon to visualize the shape.
602
+ # Note: X-axis is not significant in geometry plot. Y-axis can be a tuple,
603
+ # first element represents weight of geometry shape and second element
604
+ # represents the geometry column. Since color of geometry shape is generated
605
+ # based on first column and since the example is to plot a single polygon,
606
+ # the first element in tuple is not significant.
607
+ >>> # Generate GeoDataFrame which has single Polygon.
608
+ >>> single_polygon_df = shapes_df[shapes_df.skey==1004]
609
+ >>> single_polygon_df.plot(y=(single_polygon_df.skey, single_polygon_df.polygons))
610
+
611
+ # Example 3: Generate a bar plot on a GeoDataFrame.
612
+ # Note: The below example shows how the population of the United States
613
+ # changed from 1910 to 2020.
614
+ >>> population_data.plot(x=population_data.population_year, y=population_data.population, kind="bar")
615
+
616
+ # Example 4: Generate a subplot on a GeoDataFrame to show the rate of population increase over 4 decades.
617
+ # Create DataFrames for population in the year 2020, 2010, 2000, 1990.
618
+ >>> df_2020 = population_data[population_data.population_year == 2020]
619
+ >>> df_2010 = population_data[population_data.population_year == 2010]
620
+ >>> df_2000 = population_data[population_data.population_year == 2000]
621
+ >>> df_1990 = population_data[population_data.population_year == 1990]
622
+
623
+ # Define subplot.
624
+ >>> fig, axes = subplots(nrows=2, ncols=2)
625
+
626
+ >>> plot_population = df_1990.plot(y=(df_1990.population, df_1990.state_shape),
627
+ ... cmap='rainbow',
628
+ ... figure=fig,
629
+ ... ax=axes[0],
630
+ ... reverse_yaxis=True,
631
+ ... vmin=55036.0,
632
+ ... vmax=39538223.0,
633
+ ... heading="US Population growth over 4 decades",
634
+ ... title="US 1990 Population",
635
+ ... xlabel="",
636
+ ... yylabel="")
637
+ >>> plot_population = df_2000.plot(y=(df_2000.population, df_2000.state_shape),
638
+ ... cmap='rainbow',
639
+ ... figure=fig,
640
+ ... ax=axes[1],
641
+ ... reverse_yaxis=True,
642
+ ... vmin=55036.0,
643
+ ... vmax=39538223.0,
644
+ ... heading="US Population growth over 4 decades",
645
+ ... title="US 2000 Population",
646
+ ... xlabel="",
647
+ ... ylabel="")
648
+ >>> plot_population = df_2010.plot(x=df_2010.population_year,
649
+ ... y=(df_2010.population, df_2010.state_shape),
650
+ ... cmap='rainbow',
651
+ ... figure=fig,
652
+ ... ax=axes[2],
653
+ ... reverse_yaxis=True,
654
+ ... vmin=55036.0,
655
+ ... vmax=39538223.0,
656
+ ... heading="US Population growth over 4 decades",
657
+ ... title="US 2010 Population",
658
+ ... xlabel="",
659
+ ... ylabel="",
660
+ ... xtick_values_format="")
661
+ >>> plot_population = df_2020.plot(x=df_2020.population_year,
662
+ ... y=(df_2020.population, df_2020.state_shape),
663
+ ... cmap='rainbow',
664
+ ... figure=fig,
665
+ ... ax=axes[3],
666
+ ... reverse_yaxis=True,
667
+ ... vmin=55036.0,
668
+ ... vmax=39538223.0,
669
+ ... heading="US Population growth over 4 decades",
670
+ ... title="US 2020 Population",
671
+ ... xlabel="",
672
+ ... ylabel="",
673
+ ... xtick_values_format="")
674
+ >>> # Show the plot.
675
+ >>> plot_population.show()
676
+
677
+ """
678
+ if kind == "geometry":
679
+ # x is not really required for geometry plot. So, users can pass a None here.
680
+ # However, UAF needs all the records to be a Non NULL value. So, construct x with
681
+ # a dummy value.
682
+ x = x if x is not None else 1
683
+ y = UtilFuncs._as_list(y)
684
+
685
+ # For geometry plot, x axis is not significant really.
686
+ # They do not mean any thing.
687
+ kwargs["xlabel"] = ""
688
+ kwargs["xtick_values_format"] = ""
689
+
690
+ # Geometry plot always need a tuple. Second
691
+ # element should be a Geometry column. If user does not
692
+ # specify a tuple, convert it to tuple by using default geometry column.
693
+ # use "geometry" API.
694
+ _get_y_axis = lambda x: x if isinstance(x, tuple) else (x, self.geometry)
695
+ y = [_get_y_axis(arg) for arg in y]
696
+
697
+ plot = _Plot(x=x, y=y, kind=kind, **kwargs)
698
+ return plot
699
+
700
+ def __getattr__(self, name):
701
+ """
702
+ Returns an attribute of the GeoDataFrame.
703
+
704
+ PARAMETERS:
705
+ name:
706
+ Required Argument.
707
+ Specifies the name of the attribute.
708
+ Types: str
709
+
710
+ RETURNS:
711
+ Return the value of the named attribute of object (if found).
712
+
713
+ EXAMPLES:
714
+ df = GeoDataFrame('table')
715
+
716
+ # You can access a column from the teradataml GeoDataFrame.
717
+ df.c1
718
+
719
+ RAISES:
720
+ Attribute Error when the named attribute is not found.
721
+ """
722
+
723
+ # Look in the underlying _MetaExpression for columns
724
+ for col in self._metaexpr.c:
725
+ if col.name == name:
726
+ col._parent_df = self
727
+ return col
728
+
729
+ # If "name" is present in any of the following 'GeospatialConstants'
730
+ # 1. GeospatialConstants.PROPERTY_TO_NO_ARG_SQL_FUNCTION_NAME
731
+ # 2. GeospatialConstants.METHOD_TO_ARG_ACCEPTING_SQL_FUNCTION_NAME
732
+ # 3. GeospatialConstants.METHOD_TO_NO_ARG_SQL_FUNCTION_NAME
733
+ # that means, it's a function that operates on Geometry Data.
734
+ #
735
+ # Look for such function names.
736
+ if name in GeospatialConstants.PROPERTY_TO_NO_ARG_SQL_FUNCTION_NAME.value:
737
+ # Geospatial functions which are exposed as property of teradataml
738
+ # GeoDataFrame.
739
+ return self.__process_geometry(func_name=name, all_geom=False,
740
+ property=True)
741
+
742
+ if name in GeospatialConstants.METHOD_TO_ARG_ACCEPTING_SQL_FUNCTION_NAME.value \
743
+ or name in GeospatialConstants.METHOD_TO_NO_ARG_SQL_FUNCTION_NAME.value:
744
+ # Geospatial functions which are exposed as method of teradataml
745
+ # GeoDataFrame.
746
+ return lambda *args, **kwargs: \
747
+ self.__process_geometry(name, *args, **kwargs)
748
+
749
+ # TODO - Raise error or Keep it open ended to accept SQL Function names.
750
+ raise AttributeError("'GeoDataFrame' object has no attribute %s" % name)
751
+
752
+ @collect_queryband(arg_name="func_name", prefix="GDF")
753
+ def __process_geometry(self, func_name, *args, **kwargs):
754
+ """
755
+ Function helps to execute the Geospatial function on the column(s)
756
+ containing geometry data.
757
+
758
+ PARAMETERS:
759
+ func_name:
760
+ Required Argument.
761
+ Specifies the name of the function to execute.
762
+ Types: string
763
+
764
+ all_geom:
765
+ Optional Argument.
766
+ Specifies whether to execute the function on all geometry
767
+ columns in the GeoDataFrame or not.
768
+ When set to 'True', geospatial function specified in
769
+ "func_name", is executed on all the columns containing
770
+ geometry data, i.e., geospatial data.
771
+ When set to 'False', geospatial function specified in
772
+ "func_name", is executed only on the column represented
773
+ by the 'GeoDataFrame.geometry' property.
774
+ Default Value: False
775
+ Types: bool
776
+
777
+ property:
778
+ Optional Argument.
779
+ Specifies whether the function being executed should be treated
780
+ as GeoDataFrame property or not.
781
+ When set to 'True', geospatial function specified in
782
+ "func_name", is treated as property, otherwise treated as
783
+ method.
784
+ Default Value: False
785
+ Types: bool
786
+
787
+ *args:
788
+ Positional arguments passed to the method, i.e., geospatial
789
+ function.
790
+
791
+ **kwargs:
792
+ Keyword arguments passed to the method, i.e., geospatial
793
+ function.
794
+
795
+ RETURNS:
796
+ DataFrame or GeoDataFrame
797
+
798
+ RAISES:
799
+ None.
800
+
801
+ EXAMPLES:
802
+ self.__process_geometry(fname, all_geom, False, *c, **kwargs)
803
+ """
804
+ property = kwargs.pop("property", False)
805
+ all_geom = kwargs.pop("all_geom", False)
806
+ assign_args = {}
807
+ if not all_geom:
808
+ # Function will be run only on column represented by
809
+ # 'GeoDataFrame.geometry' property.
810
+ new_col = "{}_{}_geom".format(func_name, self.geometry.name)
811
+ if property:
812
+ # If property is set to True, then no need to pass **kwargs and
813
+ # no need to invoke the call with parenthesis '()'.
814
+ assign_args[new_col] = self.geometry[func_name]
815
+ else:
816
+ # Pass *args and **kwargs as function accepts arguments.
817
+ assign_args[new_col] = self.geometry[func_name](*args, **kwargs)
818
+ else:
819
+ # Function will be run on all column(s) containing geometry data.
820
+ # Columns containing geometry data can be following types:
821
+ # 1. ST_GEOMETRY
822
+ # 2. MBR
823
+ # 3. MBB
824
+ for col in self._metaexpr.c:
825
+ if col.type in [GEOMETRY, MBR, MBB]:
826
+ new_col = "{}_{}".format(func_name, col.name)
827
+ if property:
828
+ # If property is set to True, then no need to pass
829
+ # **kwargs and no need to invoke the call with
830
+ # parenthesis '()'.
831
+ assign_args[new_col] = self[col.name][func_name]
832
+ else:
833
+ # Pass *args and **kwargs as function accepts arguments.
834
+ assign_args[new_col] = self[col.name][func_name](*args,
835
+ **kwargs)
836
+
837
+ return self.assign(**assign_args)
838
+
839
+ @property
840
+ def geometry(self):
841
+ """
842
+ DESCRIPTION:
843
+ Returns a GeoColumnExpression for a column containing geometry data.
844
+ If GeoDataFrame contains, multiple columns containing geometry data,
845
+ then it returns reference to only one of them.
846
+ Columns containing geometry data can be of following types:
847
+ 1. ST_GEOMETRY
848
+ 2. MBB
849
+ 3. MBR
850
+ Refer 'GeoDataFrame.tdtypes' to view the Teradata column data types.
851
+
852
+ Note:
853
+ This property is used to execute any geospatial operation on
854
+ GeoDataFrame, i.e., any geospatial function executed on
855
+ GeoDataFrame, is executed on the geomtry column referenced by
856
+ this property.
857
+
858
+ RETURNS:
859
+ GeoDataFrameColumn
860
+
861
+ EXAMPLES:
862
+ >>> load_example_data("geodataframe", ["sample_cities", "sample_streets"])
863
+ >>> cities = GeoDataFrame("sample_cities")
864
+ >>> streets = GeoDataFrame("sample_streets")
865
+ >>> city_streets = cities.join(streets, how="cross", lsuffix="l", rsuffix="r")
866
+ >>> city_streets
867
+ l_skey r_skey city_name city_shape street_name street_shape
868
+ 0 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Main Street LINESTRING (2 2,3 2,4 1)
869
+ 1 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Coast Blvd LINESTRING (12 12,18 17)
870
+ 2 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Coast Blvd LINESTRING (12 12,18 17)
871
+ 3 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Main Street LINESTRING (2 2,3 2,4 1)
872
+ >>>
873
+
874
+ # Check the name of the column containing geometry data, where
875
+ # 'geometry' property references.
876
+ >>> city_streets.geometry.name
877
+ 'city_shape'
878
+ >>>
879
+
880
+ # Check all the column types.
881
+ >>> city_streets.tdtypes
882
+ l_skey INTEGER()
883
+ r_skey INTEGER()
884
+ city_name VARCHAR(length=40, charset='LATIN')
885
+ city_shape GEOMETRY()
886
+ street_name VARCHAR(length=40, charset='LATIN')
887
+ street_shape GEOMETRY()
888
+ >>>
889
+ >>>
890
+
891
+ # Set the 'geometry' property to refer 'street_shape' column.
892
+ >>> city_streets.geometry = city_streets.street_shape
893
+ >>> city_streets.geometry.name
894
+ 'street_shape'
895
+ >>>
896
+
897
+ # Check whether the geometry referenced by 'geometry' property are 3D
898
+ # or not.
899
+ >>> city_streets.is_3D
900
+ l_skey r_skey city_name city_shape street_name street_shape is_3D_street_shape_geom
901
+ 0 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Main Street LINESTRING (2 2,3 2,4 1) 0
902
+ 1 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Coast Blvd LINESTRING (12 12,18 17) 0
903
+ 2 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Coast Blvd LINESTRING (12 12,18 17) 0
904
+ 3 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Main Street LINESTRING (2 2,3 2,4 1) 0
905
+ >>>
906
+
907
+ # Use the geometry property to execute multiple geospatial functions
908
+ # in conjunctions with GeoDataFrame.assign()
909
+ # Get the geometry type.
910
+ >>> geom_type = city_streets.geometry.geom_type
911
+ # Check if geometry is simple or not.
912
+ >>> is_simple = city_streets.geometry.is_simple
913
+ # Check if geometry is valid or not.
914
+ >>> is_valid = city_streets.geometry.is_valid
915
+ >>>
916
+ # Call GeoDataFrame.assign() and pass the above GeoDataFrameColumn, i.e.,
917
+ # ColumnExpressions as input.
918
+ >>> city_streets.assign(geom_type = geom_type,
919
+ ... is_simple = is_simple,
920
+ ... is_valid = is_valid
921
+ ... )
922
+ l_skey r_skey city_name city_shape street_name street_shape geom_type is_simple is_valid
923
+ 0 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Main Street LINESTRING (2 2,3 2,4 1) ST_LineString 1 1
924
+ 1 0 1 Oceanville POLYGON ((1 1,1 3,6 3,6 0,1 1)) Coast Blvd LINESTRING (12 12,18 17) ST_LineString 1 1
925
+ 2 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Coast Blvd LINESTRING (12 12,18 17) ST_LineString 1 1
926
+ 3 1 1 Seaside POLYGON ((10 10,10 20,20 20,20 15,10 10)) Main Street LINESTRING (2 2,3 2,4 1) ST_LineString 1 1
927
+ >>>
928
+ """
929
+ # Check if attribute __geom_column is already set or not.
930
+ if self.__geom_column is not None:
931
+ return self.__geom_column
932
+ else:
933
+ # No geom column identified, iterate over the columns
934
+ # and set the attribute and return the same.
935
+ for col in self._metaexpr.c:
936
+ if isinstance(col.type, (GEOMETRY, MBR, MBB)):
937
+ self.__geom_column = col
938
+ return col
939
+
940
+ @geometry.setter
941
+ def geometry(self, column):
942
+ """
943
+ DESCRIPTION:
944
+ Sets the geometry property to new geometry column.
945
+
946
+ PARAMETERS:
947
+ column:
948
+ Required Argument.
949
+ Specifies the column used for setting the 'geometry'
950
+ property. Column passed to the function must contain the
951
+ geometry data, i.e., column should be of type GEOMETRY, MBR,
952
+ or MBB.
953
+ Types: str or GeoDataFrameColumn
954
+
955
+ RAISES:
956
+ TeradataMlException
957
+
958
+ EXAMPLES:
959
+ # Set the property by passing the column name.
960
+ df.geometry = "geom_column"
961
+
962
+ # Set the property by passing the GeoDataFrameColumn.
963
+ df.geometry = df.geom_column
964
+ """
965
+ awu_matrix = []
966
+ awu_matrix.append(["column", column, False, (str, GeoDataFrameColumn),
967
+ True])
968
+
969
+ # Validate argument types
970
+ _Validators._validate_function_arguments(awu_matrix)
971
+
972
+ if isinstance(column, str):
973
+ column = getattr(self, column)
974
+
975
+ supported_types = (GEOMETRY, MBR, MBB)
976
+ if not isinstance(column.type, supported_types):
977
+ err_fmt = Messages.get_message(MessageCodes.INVALID_COLUMN_DATATYPE)
978
+ err_ = err_fmt.format(column.name, "column", "Supported",
979
+ supported_types)
980
+ raise TeradataMlException(err_, MessageCodes.INVALID_COLUMN_DATATYPE)
981
+
982
+ self.__geom_column = column
983
+
984
+ def _create_dataframe_from_node(self, nodeid, metaexpr, index_label, undropped_columns=None):
985
+ """
986
+ DESCRIPTION:
987
+ This function overrides the parent method, that creates the
988
+ dataframe from node, i.e., using '_Parent_from_node' function.
989
+
990
+ Parent class always returns a teradataml DataFrame, but for
991
+ GeoDataFrame, we will return teradataml DataFrame or teradataml
992
+ GeoDataFrame, based on whether the resultant DataFrame contains
993
+ geometry column or not.
994
+
995
+ PARAMETERS:
996
+ nodeid:
997
+ Required Argument.
998
+ Specifies the nodeid for the DataFrame or GeoDataFrame.
999
+ Types: str
1000
+
1001
+ metaexpr:
1002
+ Required Argument.
1003
+ Specifies the metadata for the resultant object.
1004
+ Types: _MetaExpression
1005
+
1006
+ index_label:
1007
+ Required Argument.
1008
+ Specifies list specifying index column(s) for the DataFrame.
1009
+ Types: str OR list of Strings (str)
1010
+
1011
+ undropped_columns:
1012
+ Optional Argument.
1013
+ Specifies list of index column(s) to be retained as columns for printing.
1014
+ Types: list
1015
+
1016
+ RETURNS:
1017
+ teradataml DataFrame or teradataml GeoDataFrame
1018
+
1019
+ RAISES:
1020
+ None
1021
+
1022
+ EXAMPLES:
1023
+ self._create_dataframe_from_node(new_nodeid, new_meta,
1024
+ self._index_label, undropped_columns)
1025
+ """
1026
+ # TODO: <DEPENDENT_ON_GEOMETRY_DATATYPES_SUPPORT_IN_teradatasqlalchemy>
1027
+ # 1. Add the test cases.
1028
+ # a. Run teradataml DataFrame functions, that will result in
1029
+ # dropping the geometry datatype columns.
1030
+ # b. Run GeoDataFrame.assign() with "drop_columns=True" and
1031
+ # run geospatial function on a column, a function that will
1032
+ # not return the Geometry data type column.
1033
+ # All other cases, this should return the object of this class.
1034
+ if not self._check_geom_column(metaexpr):
1035
+ # If generated metaexpr does not contain a geometry column
1036
+ # then we should return the teradataml DataFrame.
1037
+ return DataFrame._from_node(nodeid, metaexpr, index_label, undropped_columns)
1038
+ else:
1039
+ # Return the teradataml GeoDataFrame.
1040
+ return self._from_node(nodeid, metaexpr, index_label, undropped_columns)
1041
+
1042
+ def _get_metadata_from_metaexpr(self, metaexpr):
1043
+ """
1044
+ Private method for setting _metaexpr and retrieving column names and types.
1045
+
1046
+ PARAMETERS:
1047
+ metaexpr - Parent meta data (_MetaExpression object).
1048
+
1049
+ RETURNS:
1050
+ None
1051
+
1052
+ RAISES:
1053
+ None
1054
+
1055
+ EXAMPLE:
1056
+ self._get_metadata_from_metaexpr(metaexpr)
1057
+ """
1058
+ self._metaexpr = self._generate_child_metaexpr(metaexpr)
1059
+ self._column_names_and_types = []
1060
+ self._td_column_names_and_types = []
1061
+ self._td_column_names_and_sqlalchemy_types = {}
1062
+ for col in self._metaexpr.c:
1063
+ if isinstance(col.type, sqlalchemy.sql.sqltypes.NullType):
1064
+ tdtype = TeradataTypes.TD_NULL_TYPE.value
1065
+ else:
1066
+ tdtype = "{}".format(col.type)
1067
+
1068
+ self._column_names_and_types.append((str(col.name), UtilFuncs._teradata_type_to_python_type(col.type)))
1069
+ self._td_column_names_and_types.append((str(col.name), tdtype))
1070
+ self._td_column_names_and_sqlalchemy_types[(str(col.name)).lower()] = col.type
1071
+
1072
+ # Set the Geometry column, which will be used as "geometry"
1073
+ # property.
1074
+ if self.__geom_column is None and \
1075
+ isinstance(col.type, (GEOMETRY, MBR, MBB)):
1076
+ self.__geom_column = col
1077
+
1078
+ if self.__geom_column is None:
1079
+ error_code = MessageCodes.NO_GEOM_COLUMN_EXIST
1080
+ raise TeradataMlException(Messages.get_message(error_code), error_code)
1081
+
1082
+ def _generate_child_metaexpr(self, metaexpr):
1083
+ """
1084
+ Internal function that generates the metaexpression by converting
1085
+ _SQLColumnExpression to GeoDataFrameColumn.
1086
+
1087
+ PARAMETERS:
1088
+ metaexpr:
1089
+ Required Arguments.
1090
+ Specifies the metaexpression to update.
1091
+ Types: _MetaExpression
1092
+
1093
+ RETURNS:
1094
+ _MetaExpression
1095
+
1096
+ RAISES:
1097
+ None.
1098
+
1099
+ EXAMPLES:
1100
+ self._metaexpr = self._generate_child_metaexpr(metaexpr)
1101
+ """
1102
+ metaexpr.c = [GeoDataFrameColumn(col.expression)
1103
+ if not isinstance(col, GeoDataFrameColumn) else col
1104
+ for col in metaexpr.c]
1105
+ return metaexpr