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.
- teradataml/LICENSE-3RD-PARTY.pdf +0 -0
- teradataml/LICENSE.pdf +0 -0
- teradataml/README.md +1935 -1640
- teradataml/__init__.py +70 -60
- teradataml/_version.py +11 -11
- teradataml/analytics/Transformations.py +2995 -2995
- teradataml/analytics/__init__.py +81 -83
- teradataml/analytics/analytic_function_executor.py +2040 -2010
- teradataml/analytics/analytic_query_generator.py +958 -958
- teradataml/analytics/byom/H2OPredict.py +514 -514
- teradataml/analytics/byom/PMMLPredict.py +437 -437
- teradataml/analytics/byom/__init__.py +14 -14
- teradataml/analytics/json_parser/__init__.py +130 -130
- teradataml/analytics/json_parser/analytic_functions_argument.py +1707 -1707
- teradataml/analytics/json_parser/json_store.py +191 -191
- teradataml/analytics/json_parser/metadata.py +1637 -1637
- teradataml/analytics/json_parser/utils.py +798 -803
- teradataml/analytics/meta_class.py +196 -196
- teradataml/analytics/sqle/DecisionTreePredict.py +455 -470
- teradataml/analytics/sqle/NaiveBayesPredict.py +419 -428
- teradataml/analytics/sqle/__init__.py +97 -110
- teradataml/analytics/sqle/json/decisiontreepredict_sqle.json +78 -78
- teradataml/analytics/sqle/json/naivebayespredict_sqle.json +62 -62
- teradataml/analytics/table_operator/__init__.py +10 -10
- teradataml/analytics/uaf/__init__.py +63 -63
- teradataml/analytics/utils.py +693 -692
- teradataml/analytics/valib.py +1603 -1600
- teradataml/automl/__init__.py +1683 -0
- teradataml/automl/custom_json_utils.py +1270 -0
- teradataml/automl/data_preparation.py +1011 -0
- teradataml/automl/data_transformation.py +789 -0
- teradataml/automl/feature_engineering.py +1580 -0
- teradataml/automl/feature_exploration.py +554 -0
- teradataml/automl/model_evaluation.py +151 -0
- teradataml/automl/model_training.py +1026 -0
- teradataml/catalog/__init__.py +1 -3
- teradataml/catalog/byom.py +1759 -1716
- teradataml/catalog/function_argument_mapper.py +859 -861
- teradataml/catalog/model_cataloging_utils.py +491 -1510
- teradataml/clients/auth_client.py +133 -0
- teradataml/clients/pkce_client.py +481 -481
- teradataml/common/aed_utils.py +7 -2
- teradataml/common/bulk_exposed_utils.py +111 -111
- teradataml/common/constants.py +1438 -1441
- teradataml/common/deprecations.py +160 -0
- teradataml/common/exceptions.py +73 -73
- teradataml/common/formula.py +742 -742
- teradataml/common/garbagecollector.py +597 -635
- teradataml/common/messagecodes.py +424 -431
- teradataml/common/messages.py +228 -231
- teradataml/common/sqlbundle.py +693 -693
- teradataml/common/td_coltype_code_to_tdtype.py +48 -48
- teradataml/common/utils.py +2424 -2500
- teradataml/common/warnings.py +25 -25
- teradataml/common/wrapper_utils.py +1 -110
- teradataml/config/dummy_file1.cfg +4 -4
- teradataml/config/dummy_file2.cfg +2 -2
- teradataml/config/sqlengine_alias_definitions_v1.0 +13 -13
- teradataml/config/sqlengine_alias_definitions_v1.1 +19 -19
- teradataml/config/sqlengine_alias_definitions_v1.3 +18 -18
- teradataml/context/aed_context.py +217 -217
- teradataml/context/context.py +1091 -999
- teradataml/data/A_loan.csv +19 -19
- teradataml/data/BINARY_REALS_LEFT.csv +11 -11
- teradataml/data/BINARY_REALS_RIGHT.csv +11 -11
- teradataml/data/B_loan.csv +49 -49
- teradataml/data/BuoyData2.csv +17 -17
- teradataml/data/CONVOLVE2_COMPLEX_LEFT.csv +5 -5
- teradataml/data/CONVOLVE2_COMPLEX_RIGHT.csv +5 -5
- teradataml/data/Convolve2RealsLeft.csv +5 -5
- teradataml/data/Convolve2RealsRight.csv +5 -5
- teradataml/data/Convolve2ValidLeft.csv +11 -11
- teradataml/data/Convolve2ValidRight.csv +11 -11
- teradataml/data/DFFTConv_Real_8_8.csv +65 -65
- teradataml/data/Orders1_12mf.csv +24 -24
- teradataml/data/Pi_loan.csv +7 -7
- teradataml/data/SMOOTHED_DATA.csv +7 -7
- teradataml/data/TestDFFT8.csv +9 -9
- teradataml/data/TestRiver.csv +109 -109
- teradataml/data/Traindata.csv +28 -28
- teradataml/data/acf.csv +17 -17
- teradataml/data/adaboost_example.json +34 -34
- teradataml/data/adaboostpredict_example.json +24 -24
- teradataml/data/additional_table.csv +10 -10
- teradataml/data/admissions_test.csv +21 -21
- teradataml/data/admissions_train.csv +41 -41
- teradataml/data/admissions_train_nulls.csv +41 -41
- teradataml/data/advertising.csv +201 -0
- teradataml/data/ageandheight.csv +13 -13
- teradataml/data/ageandpressure.csv +31 -31
- teradataml/data/antiselect_example.json +36 -36
- teradataml/data/antiselect_input.csv +8 -8
- teradataml/data/antiselect_input_mixed_case.csv +8 -8
- teradataml/data/applicant_external.csv +6 -6
- teradataml/data/applicant_reference.csv +6 -6
- teradataml/data/arima_example.json +9 -9
- teradataml/data/assortedtext_input.csv +8 -8
- teradataml/data/attribution_example.json +33 -33
- teradataml/data/attribution_sample_table.csv +27 -27
- teradataml/data/attribution_sample_table1.csv +6 -6
- teradataml/data/attribution_sample_table2.csv +11 -11
- teradataml/data/bank_churn.csv +10001 -0
- teradataml/data/bank_marketing.csv +11163 -0
- teradataml/data/bank_web_clicks1.csv +42 -42
- teradataml/data/bank_web_clicks2.csv +91 -91
- teradataml/data/bank_web_url.csv +85 -85
- teradataml/data/barrier.csv +2 -2
- teradataml/data/barrier_new.csv +3 -3
- teradataml/data/betweenness_example.json +13 -13
- teradataml/data/bike_sharing.csv +732 -0
- teradataml/data/bin_breaks.csv +8 -8
- teradataml/data/bin_fit_ip.csv +3 -3
- teradataml/data/binary_complex_left.csv +11 -11
- teradataml/data/binary_complex_right.csv +11 -11
- teradataml/data/binary_matrix_complex_left.csv +21 -21
- teradataml/data/binary_matrix_complex_right.csv +21 -21
- teradataml/data/binary_matrix_real_left.csv +21 -21
- teradataml/data/binary_matrix_real_right.csv +21 -21
- teradataml/data/blood2ageandweight.csv +26 -26
- teradataml/data/bmi.csv +501 -0
- teradataml/data/boston.csv +507 -507
- teradataml/data/boston2cols.csv +721 -0
- teradataml/data/breast_cancer.csv +570 -0
- teradataml/data/buoydata_mix.csv +11 -11
- teradataml/data/burst_data.csv +5 -5
- teradataml/data/burst_example.json +20 -20
- teradataml/data/byom_example.json +17 -17
- teradataml/data/bytes_table.csv +3 -3
- teradataml/data/cal_housing_ex_raw.csv +70 -70
- teradataml/data/callers.csv +7 -7
- teradataml/data/calls.csv +10 -10
- teradataml/data/cars_hist.csv +33 -33
- teradataml/data/cat_table.csv +24 -24
- teradataml/data/ccm_example.json +31 -31
- teradataml/data/ccm_input.csv +91 -91
- teradataml/data/ccm_input2.csv +13 -13
- teradataml/data/ccmexample.csv +101 -101
- teradataml/data/ccmprepare_example.json +8 -8
- teradataml/data/ccmprepare_input.csv +91 -91
- teradataml/data/cfilter_example.json +12 -12
- teradataml/data/changepointdetection_example.json +18 -18
- teradataml/data/changepointdetectionrt_example.json +8 -8
- teradataml/data/chi_sq.csv +2 -2
- teradataml/data/churn_data.csv +14 -14
- teradataml/data/churn_emission.csv +35 -35
- teradataml/data/churn_initial.csv +3 -3
- teradataml/data/churn_state_transition.csv +5 -5
- teradataml/data/citedges_2.csv +745 -745
- teradataml/data/citvertices_2.csv +1210 -1210
- teradataml/data/clicks2.csv +16 -16
- teradataml/data/clickstream.csv +12 -12
- teradataml/data/clickstream1.csv +11 -11
- teradataml/data/closeness_example.json +15 -15
- teradataml/data/complaints.csv +21 -21
- teradataml/data/complaints_mini.csv +3 -3
- teradataml/data/complaints_testtoken.csv +224 -224
- teradataml/data/complaints_tokens_test.csv +353 -353
- teradataml/data/complaints_traintoken.csv +472 -472
- teradataml/data/computers_category.csv +1001 -1001
- teradataml/data/computers_test1.csv +1252 -1252
- teradataml/data/computers_train1.csv +5009 -5009
- teradataml/data/computers_train1_clustered.csv +5009 -5009
- teradataml/data/confusionmatrix_example.json +9 -9
- teradataml/data/conversion_event_table.csv +3 -3
- teradataml/data/corr_input.csv +17 -17
- teradataml/data/correlation_example.json +11 -11
- teradataml/data/coxhazardratio_example.json +39 -39
- teradataml/data/coxph_example.json +15 -15
- teradataml/data/coxsurvival_example.json +28 -28
- teradataml/data/cpt.csv +41 -41
- teradataml/data/credit_ex_merged.csv +45 -45
- teradataml/data/customer_loyalty.csv +301 -301
- teradataml/data/customer_loyalty_newseq.csv +31 -31
- teradataml/data/customer_segmentation_test.csv +2628 -0
- teradataml/data/customer_segmentation_train.csv +8069 -0
- teradataml/data/dataframe_example.json +146 -146
- teradataml/data/decisionforest_example.json +37 -37
- teradataml/data/decisionforestpredict_example.json +38 -38
- teradataml/data/decisiontree_example.json +21 -21
- teradataml/data/decisiontreepredict_example.json +45 -45
- teradataml/data/dfft2_size4_real.csv +17 -17
- teradataml/data/dfft2_test_matrix16.csv +17 -17
- teradataml/data/dfft2conv_real_4_4.csv +65 -65
- teradataml/data/diabetes.csv +443 -443
- teradataml/data/diabetes_test.csv +89 -89
- teradataml/data/dict_table.csv +5 -5
- teradataml/data/docperterm_table.csv +4 -4
- teradataml/data/docs/__init__.py +1 -1
- teradataml/data/docs/byom/docs/DataRobotPredict.py +180 -180
- teradataml/data/docs/byom/docs/DataikuPredict.py +177 -177
- teradataml/data/docs/byom/docs/H2OPredict.py +324 -324
- teradataml/data/docs/byom/docs/ONNXPredict.py +283 -283
- teradataml/data/docs/byom/docs/PMMLPredict.py +277 -277
- teradataml/data/docs/sqle/docs_17_10/Antiselect.py +82 -82
- teradataml/data/docs/sqle/docs_17_10/Attribution.py +199 -199
- teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +171 -171
- teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +131 -130
- teradataml/data/docs/sqle/docs_17_10/CategoricalSummary.py +86 -86
- teradataml/data/docs/sqle/docs_17_10/ChiSq.py +90 -90
- teradataml/data/docs/sqle/docs_17_10/ColumnSummary.py +85 -85
- teradataml/data/docs/sqle/docs_17_10/ConvertTo.py +95 -95
- teradataml/data/docs/sqle/docs_17_10/DecisionForestPredict.py +139 -139
- teradataml/data/docs/sqle/docs_17_10/DecisionTreePredict.py +151 -151
- teradataml/data/docs/sqle/docs_17_10/FTest.py +160 -160
- teradataml/data/docs/sqle/docs_17_10/FillRowId.py +82 -82
- teradataml/data/docs/sqle/docs_17_10/Fit.py +87 -87
- teradataml/data/docs/sqle/docs_17_10/GLMPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_10/GetRowsWithMissingValues.py +84 -84
- teradataml/data/docs/sqle/docs_17_10/GetRowsWithoutMissingValues.py +81 -81
- teradataml/data/docs/sqle/docs_17_10/Histogram.py +164 -164
- teradataml/data/docs/sqle/docs_17_10/MovingAverage.py +134 -134
- teradataml/data/docs/sqle/docs_17_10/NGramSplitter.py +208 -208
- teradataml/data/docs/sqle/docs_17_10/NPath.py +265 -265
- teradataml/data/docs/sqle/docs_17_10/NaiveBayesPredict.py +116 -116
- teradataml/data/docs/sqle/docs_17_10/NaiveBayesTextClassifierPredict.py +176 -176
- teradataml/data/docs/sqle/docs_17_10/NumApply.py +147 -147
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingFit.py +134 -132
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +109 -103
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterFit.py +165 -165
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +105 -101
- teradataml/data/docs/sqle/docs_17_10/Pack.py +128 -128
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesFit.py +111 -111
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +102 -102
- teradataml/data/docs/sqle/docs_17_10/QQNorm.py +104 -104
- teradataml/data/docs/sqle/docs_17_10/RoundColumns.py +109 -109
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeFit.py +117 -117
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +99 -98
- teradataml/data/docs/sqle/docs_17_10/SVMSparsePredict.py +152 -152
- teradataml/data/docs/sqle/docs_17_10/ScaleFit.py +197 -197
- teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +99 -98
- teradataml/data/docs/sqle/docs_17_10/Sessionize.py +113 -113
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeFit.py +116 -116
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +98 -98
- teradataml/data/docs/sqle/docs_17_10/StrApply.py +187 -187
- teradataml/data/docs/sqle/docs_17_10/StringSimilarity.py +145 -145
- teradataml/data/docs/sqle/docs_17_10/Transform.py +105 -104
- teradataml/data/docs/sqle/docs_17_10/UnivariateStatistics.py +141 -141
- teradataml/data/docs/sqle/docs_17_10/Unpack.py +214 -214
- teradataml/data/docs/sqle/docs_17_10/WhichMax.py +83 -83
- teradataml/data/docs/sqle/docs_17_10/WhichMin.py +83 -83
- teradataml/data/docs/sqle/docs_17_10/ZTest.py +155 -155
- teradataml/data/docs/sqle/docs_17_20/ANOVA.py +186 -126
- teradataml/data/docs/sqle/docs_17_20/Antiselect.py +82 -82
- teradataml/data/docs/sqle/docs_17_20/Attribution.py +200 -200
- teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +171 -171
- teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +139 -138
- teradataml/data/docs/sqle/docs_17_20/CategoricalSummary.py +86 -86
- teradataml/data/docs/sqle/docs_17_20/ChiSq.py +90 -90
- teradataml/data/docs/sqle/docs_17_20/ClassificationEvaluator.py +166 -166
- teradataml/data/docs/sqle/docs_17_20/ColumnSummary.py +85 -85
- teradataml/data/docs/sqle/docs_17_20/ColumnTransformer.py +245 -243
- teradataml/data/docs/sqle/docs_17_20/ConvertTo.py +113 -113
- teradataml/data/docs/sqle/docs_17_20/DecisionForest.py +279 -279
- teradataml/data/docs/sqle/docs_17_20/DecisionForestPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_20/DecisionTreePredict.py +135 -135
- teradataml/data/docs/sqle/docs_17_20/FTest.py +239 -160
- teradataml/data/docs/sqle/docs_17_20/FillRowId.py +82 -82
- teradataml/data/docs/sqle/docs_17_20/Fit.py +87 -87
- teradataml/data/docs/sqle/docs_17_20/GLM.py +541 -380
- teradataml/data/docs/sqle/docs_17_20/GLMPerSegment.py +414 -414
- teradataml/data/docs/sqle/docs_17_20/GLMPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +233 -234
- teradataml/data/docs/sqle/docs_17_20/GetFutileColumns.py +125 -123
- teradataml/data/docs/sqle/docs_17_20/GetRowsWithMissingValues.py +108 -108
- teradataml/data/docs/sqle/docs_17_20/GetRowsWithoutMissingValues.py +105 -105
- teradataml/data/docs/sqle/docs_17_20/Histogram.py +223 -223
- teradataml/data/docs/sqle/docs_17_20/KMeans.py +251 -204
- teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +144 -143
- teradataml/data/docs/sqle/docs_17_20/KNN.py +214 -214
- teradataml/data/docs/sqle/docs_17_20/MovingAverage.py +134 -134
- teradataml/data/docs/sqle/docs_17_20/NGramSplitter.py +208 -208
- teradataml/data/docs/sqle/docs_17_20/NPath.py +265 -265
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesPredict.py +116 -116
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +177 -176
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +126 -126
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +118 -117
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +112 -112
- teradataml/data/docs/sqle/docs_17_20/NumApply.py +147 -147
- teradataml/data/docs/sqle/docs_17_20/OneClassSVM.py +307 -307
- teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +185 -184
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingFit.py +230 -225
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +121 -115
- teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingFit.py +219 -219
- teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingTransform.py +127 -127
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterFit.py +189 -189
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +117 -112
- teradataml/data/docs/sqle/docs_17_20/Pack.py +128 -128
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesFit.py +111 -111
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +112 -111
- teradataml/data/docs/sqle/docs_17_20/QQNorm.py +104 -104
- teradataml/data/docs/sqle/docs_17_20/ROC.py +164 -163
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionFit.py +154 -154
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionMinComponents.py +106 -106
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +120 -120
- teradataml/data/docs/sqle/docs_17_20/RegressionEvaluator.py +211 -211
- teradataml/data/docs/sqle/docs_17_20/RoundColumns.py +108 -108
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeFit.py +117 -117
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +111 -110
- teradataml/data/docs/sqle/docs_17_20/SVM.py +413 -413
- teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +213 -202
- teradataml/data/docs/sqle/docs_17_20/SVMSparsePredict.py +152 -152
- teradataml/data/docs/sqle/docs_17_20/ScaleFit.py +315 -197
- teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +202 -109
- teradataml/data/docs/sqle/docs_17_20/SentimentExtractor.py +206 -206
- teradataml/data/docs/sqle/docs_17_20/Sessionize.py +113 -113
- teradataml/data/docs/sqle/docs_17_20/Silhouette.py +152 -152
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeFit.py +116 -116
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +109 -108
- teradataml/data/docs/sqle/docs_17_20/StrApply.py +187 -187
- teradataml/data/docs/sqle/docs_17_20/StringSimilarity.py +145 -145
- teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +207 -207
- teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +333 -171
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingFit.py +266 -266
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +141 -140
- teradataml/data/docs/sqle/docs_17_20/TextParser.py +172 -172
- teradataml/data/docs/sqle/docs_17_20/TrainTestSplit.py +159 -159
- teradataml/data/docs/sqle/docs_17_20/Transform.py +123 -123
- teradataml/data/docs/sqle/docs_17_20/UnivariateStatistics.py +141 -141
- teradataml/data/docs/sqle/docs_17_20/Unpack.py +214 -214
- teradataml/data/docs/sqle/docs_17_20/VectorDistance.py +168 -168
- teradataml/data/docs/sqle/docs_17_20/WhichMax.py +83 -83
- teradataml/data/docs/sqle/docs_17_20/WhichMin.py +83 -83
- teradataml/data/docs/sqle/docs_17_20/WordEmbeddings.py +236 -236
- teradataml/data/docs/sqle/docs_17_20/XGBoost.py +361 -353
- teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +281 -275
- teradataml/data/docs/sqle/docs_17_20/ZTest.py +220 -155
- teradataml/data/docs/tableoperator/docs_17_00/ReadNOS.py +429 -429
- teradataml/data/docs/tableoperator/docs_17_05/ReadNOS.py +429 -429
- teradataml/data/docs/tableoperator/docs_17_05/WriteNOS.py +347 -347
- teradataml/data/docs/tableoperator/docs_17_10/ReadNOS.py +428 -428
- teradataml/data/docs/tableoperator/docs_17_10/WriteNOS.py +347 -347
- teradataml/data/docs/tableoperator/docs_17_20/ReadNOS.py +439 -439
- teradataml/data/docs/tableoperator/docs_17_20/WriteNOS.py +386 -386
- teradataml/data/docs/uaf/docs_17_20/ACF.py +195 -195
- teradataml/data/docs/uaf/docs_17_20/ArimaEstimate.py +369 -369
- teradataml/data/docs/uaf/docs_17_20/ArimaForecast.py +142 -142
- teradataml/data/docs/uaf/docs_17_20/ArimaValidate.py +159 -159
- teradataml/data/docs/uaf/docs_17_20/BinaryMatrixOp.py +247 -247
- teradataml/data/docs/uaf/docs_17_20/BinarySeriesOp.py +252 -252
- teradataml/data/docs/uaf/docs_17_20/BreuschGodfrey.py +177 -177
- teradataml/data/docs/uaf/docs_17_20/BreuschPaganGodfrey.py +174 -174
- teradataml/data/docs/uaf/docs_17_20/Convolve.py +226 -226
- teradataml/data/docs/uaf/docs_17_20/Convolve2.py +214 -214
- teradataml/data/docs/uaf/docs_17_20/CumulPeriodogram.py +183 -183
- teradataml/data/docs/uaf/docs_17_20/DFFT.py +203 -203
- teradataml/data/docs/uaf/docs_17_20/DFFT2.py +216 -216
- teradataml/data/docs/uaf/docs_17_20/DFFT2Conv.py +215 -215
- teradataml/data/docs/uaf/docs_17_20/DFFTConv.py +191 -191
- teradataml/data/docs/uaf/docs_17_20/DTW.py +179 -179
- teradataml/data/docs/uaf/docs_17_20/DickeyFuller.py +144 -144
- teradataml/data/docs/uaf/docs_17_20/DurbinWatson.py +183 -183
- teradataml/data/docs/uaf/docs_17_20/ExtractResults.py +184 -184
- teradataml/data/docs/uaf/docs_17_20/FitMetrics.py +172 -172
- teradataml/data/docs/uaf/docs_17_20/GenseriesFormula.py +205 -205
- teradataml/data/docs/uaf/docs_17_20/GenseriesSinusoids.py +142 -142
- teradataml/data/docs/uaf/docs_17_20/HoltWintersForecaster.py +258 -258
- teradataml/data/docs/uaf/docs_17_20/IDFFT.py +164 -164
- teradataml/data/docs/uaf/docs_17_20/IDFFT2.py +198 -198
- teradataml/data/docs/uaf/docs_17_20/InputValidator.py +120 -120
- teradataml/data/docs/uaf/docs_17_20/LineSpec.py +155 -155
- teradataml/data/docs/uaf/docs_17_20/LinearRegr.py +214 -214
- teradataml/data/docs/uaf/docs_17_20/MAMean.py +173 -173
- teradataml/data/docs/uaf/docs_17_20/MInfo.py +133 -133
- teradataml/data/docs/uaf/docs_17_20/MatrixMultiply.py +135 -135
- teradataml/data/docs/uaf/docs_17_20/MultivarRegr.py +190 -190
- teradataml/data/docs/uaf/docs_17_20/PACF.py +158 -158
- teradataml/data/docs/uaf/docs_17_20/Portman.py +216 -216
- teradataml/data/docs/uaf/docs_17_20/PowerTransform.py +154 -154
- teradataml/data/docs/uaf/docs_17_20/Resample.py +228 -228
- teradataml/data/docs/uaf/docs_17_20/SInfo.py +122 -122
- teradataml/data/docs/uaf/docs_17_20/SeasonalNormalize.py +165 -165
- teradataml/data/docs/uaf/docs_17_20/SelectionCriteria.py +173 -173
- teradataml/data/docs/uaf/docs_17_20/SignifPeriodicities.py +170 -170
- teradataml/data/docs/uaf/docs_17_20/SignifResidmean.py +163 -163
- teradataml/data/docs/uaf/docs_17_20/SimpleExp.py +179 -179
- teradataml/data/docs/uaf/docs_17_20/Smoothma.py +207 -207
- teradataml/data/docs/uaf/docs_17_20/TrackingOp.py +150 -150
- teradataml/data/docs/uaf/docs_17_20/UNDIFF.py +171 -171
- teradataml/data/docs/uaf/docs_17_20/Unnormalize.py +201 -201
- teradataml/data/docs/uaf/docs_17_20/WhitesGeneral.py +169 -169
- teradataml/data/dtw_example.json +17 -17
- teradataml/data/dtw_t1.csv +11 -11
- teradataml/data/dtw_t2.csv +4 -4
- teradataml/data/dwt2d_example.json +15 -15
- teradataml/data/dwt_example.json +14 -14
- teradataml/data/dwt_filter_dim.csv +5 -5
- teradataml/data/emission.csv +9 -9
- teradataml/data/emp_table_by_dept.csv +19 -19
- teradataml/data/employee_info.csv +4 -4
- teradataml/data/employee_table.csv +6 -6
- teradataml/data/excluding_event_table.csv +2 -2
- teradataml/data/finance_data.csv +6 -6
- teradataml/data/finance_data2.csv +61 -61
- teradataml/data/finance_data3.csv +93 -93
- teradataml/data/fish.csv +160 -0
- teradataml/data/fm_blood2ageandweight.csv +26 -26
- teradataml/data/fmeasure_example.json +11 -11
- teradataml/data/followers_leaders.csv +10 -10
- teradataml/data/fpgrowth_example.json +12 -12
- teradataml/data/frequentpaths_example.json +29 -29
- teradataml/data/friends.csv +9 -9
- teradataml/data/fs_input.csv +33 -33
- teradataml/data/fs_input1.csv +33 -33
- teradataml/data/genData.csv +513 -513
- teradataml/data/geodataframe_example.json +39 -39
- teradataml/data/glass_types.csv +215 -0
- teradataml/data/glm_admissions_model.csv +12 -12
- teradataml/data/glm_example.json +56 -29
- teradataml/data/glml1l2_example.json +28 -28
- teradataml/data/glml1l2predict_example.json +54 -54
- teradataml/data/glmpredict_example.json +54 -54
- teradataml/data/gq_t1.csv +21 -21
- teradataml/data/hconvolve_complex_right.csv +5 -5
- teradataml/data/hconvolve_complex_rightmulti.csv +5 -5
- teradataml/data/histogram_example.json +11 -11
- teradataml/data/hmmdecoder_example.json +78 -78
- teradataml/data/hmmevaluator_example.json +24 -24
- teradataml/data/hmmsupervised_example.json +10 -10
- teradataml/data/hmmunsupervised_example.json +7 -7
- teradataml/data/house_values.csv +12 -12
- teradataml/data/house_values2.csv +13 -13
- teradataml/data/housing_cat.csv +7 -7
- teradataml/data/housing_data.csv +9 -9
- teradataml/data/housing_test.csv +47 -47
- teradataml/data/housing_test_binary.csv +47 -47
- teradataml/data/housing_train.csv +493 -493
- teradataml/data/housing_train_attribute.csv +4 -4
- teradataml/data/housing_train_binary.csv +437 -437
- teradataml/data/housing_train_parameter.csv +2 -2
- teradataml/data/housing_train_response.csv +493 -493
- teradataml/data/housing_train_segment.csv +201 -0
- teradataml/data/ibm_stock.csv +370 -370
- teradataml/data/ibm_stock1.csv +370 -370
- teradataml/data/identitymatch_example.json +21 -21
- teradataml/data/idf_table.csv +4 -4
- teradataml/data/impressions.csv +101 -101
- teradataml/data/inflation.csv +21 -21
- teradataml/data/initial.csv +3 -3
- teradataml/data/insect2Cols.csv +61 -0
- teradataml/data/insect_sprays.csv +12 -12
- teradataml/data/insurance.csv +1339 -1339
- teradataml/data/interpolator_example.json +12 -12
- teradataml/data/iris_altinput.csv +481 -481
- teradataml/data/iris_attribute_output.csv +8 -8
- teradataml/data/iris_attribute_test.csv +121 -121
- teradataml/data/iris_attribute_train.csv +481 -481
- teradataml/data/iris_category_expect_predict.csv +31 -31
- teradataml/data/iris_data.csv +151 -0
- teradataml/data/iris_input.csv +151 -151
- teradataml/data/iris_response_train.csv +121 -121
- teradataml/data/iris_test.csv +31 -31
- teradataml/data/iris_train.csv +121 -121
- teradataml/data/join_table1.csv +4 -4
- teradataml/data/join_table2.csv +4 -4
- teradataml/data/jsons/anly_function_name.json +6 -6
- teradataml/data/jsons/byom/dataikupredict.json +147 -147
- teradataml/data/jsons/byom/datarobotpredict.json +146 -146
- teradataml/data/jsons/byom/h2opredict.json +194 -194
- teradataml/data/jsons/byom/onnxpredict.json +186 -186
- teradataml/data/jsons/byom/pmmlpredict.json +146 -146
- teradataml/data/jsons/paired_functions.json +435 -435
- teradataml/data/jsons/sqle/16.20/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/16.20/Attribution.json +249 -249
- teradataml/data/jsons/sqle/16.20/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/16.20/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/16.20/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/16.20/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/16.20/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/16.20/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/16.20/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/16.20/Pack.json +98 -98
- teradataml/data/jsons/sqle/16.20/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/16.20/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/16.20/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/16.20/Unpack.json +166 -166
- teradataml/data/jsons/sqle/16.20/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.00/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.00/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.00/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/17.00/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/17.00/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/17.00/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.00/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.00/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/17.00/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/17.00/Pack.json +98 -98
- teradataml/data/jsons/sqle/17.00/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/17.00/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.00/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.00/Unpack.json +166 -166
- teradataml/data/jsons/sqle/17.00/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.05/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.05/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.05/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/17.05/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/17.05/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/17.05/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.05/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.05/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/17.05/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/17.05/Pack.json +98 -98
- teradataml/data/jsons/sqle/17.05/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/17.05/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.05/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.05/Unpack.json +166 -166
- teradataml/data/jsons/sqle/17.05/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.10/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.10/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.10/DecisionForestPredict.json +185 -185
- teradataml/data/jsons/sqle/17.10/DecisionTreePredict.json +171 -171
- teradataml/data/jsons/sqle/17.10/GLMPredict.json +151 -151
- teradataml/data/jsons/sqle/17.10/MovingAverage.json +368 -368
- teradataml/data/jsons/sqle/17.10/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.10/NaiveBayesPredict.json +149 -149
- teradataml/data/jsons/sqle/17.10/NaiveBayesTextClassifierPredict.json +288 -288
- teradataml/data/jsons/sqle/17.10/Pack.json +133 -133
- teradataml/data/jsons/sqle/17.10/SVMSparsePredict.json +193 -193
- teradataml/data/jsons/sqle/17.10/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.10/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.10/TD_BinCodeFit.json +239 -239
- teradataml/data/jsons/sqle/17.10/TD_BinCodeTransform.json +70 -70
- teradataml/data/jsons/sqle/17.10/TD_CategoricalSummary.json +53 -53
- teradataml/data/jsons/sqle/17.10/TD_Chisq.json +67 -67
- teradataml/data/jsons/sqle/17.10/TD_ColumnSummary.json +53 -53
- teradataml/data/jsons/sqle/17.10/TD_ConvertTo.json +68 -68
- teradataml/data/jsons/sqle/17.10/TD_FTest.json +187 -187
- teradataml/data/jsons/sqle/17.10/TD_FillRowID.json +51 -51
- teradataml/data/jsons/sqle/17.10/TD_FunctionFit.json +46 -46
- teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +72 -71
- teradataml/data/jsons/sqle/17.10/TD_GetRowsWithMissingValues.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_GetRowsWithoutMissingValues.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_Histogram.json +132 -132
- teradataml/data/jsons/sqle/17.10/TD_NumApply.json +147 -147
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingFit.json +182 -182
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +65 -64
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterFit.json +196 -196
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +48 -47
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesFit.json +114 -114
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +72 -71
- teradataml/data/jsons/sqle/17.10/TD_QQNorm.json +111 -111
- teradataml/data/jsons/sqle/17.10/TD_RoundColumns.json +93 -93
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeFit.json +127 -127
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +70 -69
- teradataml/data/jsons/sqle/17.10/TD_ScaleFit.json +156 -156
- teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +70 -69
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeFit.json +147 -147
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +48 -47
- teradataml/data/jsons/sqle/17.10/TD_StrApply.json +240 -240
- teradataml/data/jsons/sqle/17.10/TD_UnivariateStatistics.json +118 -118
- teradataml/data/jsons/sqle/17.10/TD_WhichMax.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_WhichMin.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_ZTest.json +171 -171
- teradataml/data/jsons/sqle/17.10/Unpack.json +188 -188
- teradataml/data/jsons/sqle/17.10/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.20/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.20/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.20/DecisionForestPredict.json +185 -185
- teradataml/data/jsons/sqle/17.20/DecisionTreePredict.json +172 -172
- teradataml/data/jsons/sqle/17.20/GLMPredict.json +151 -151
- teradataml/data/jsons/sqle/17.20/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.20/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.20/NaiveBayesPredict.json +149 -149
- teradataml/data/jsons/sqle/17.20/NaiveBayesTextClassifierPredict.json +287 -287
- teradataml/data/jsons/sqle/17.20/Pack.json +133 -133
- teradataml/data/jsons/sqle/17.20/SVMSparsePredict.json +192 -192
- teradataml/data/jsons/sqle/17.20/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.20/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.20/TD_ANOVA.json +148 -76
- teradataml/data/jsons/sqle/17.20/TD_BinCodeFit.json +239 -239
- teradataml/data/jsons/sqle/17.20/TD_BinCodeTransform.json +71 -71
- teradataml/data/jsons/sqle/17.20/TD_CategoricalSummary.json +53 -53
- teradataml/data/jsons/sqle/17.20/TD_Chisq.json +67 -67
- teradataml/data/jsons/sqle/17.20/TD_ClassificationEvaluator.json +145 -145
- teradataml/data/jsons/sqle/17.20/TD_ColumnSummary.json +53 -53
- teradataml/data/jsons/sqle/17.20/TD_ColumnTransformer.json +218 -218
- teradataml/data/jsons/sqle/17.20/TD_ConvertTo.json +92 -92
- teradataml/data/jsons/sqle/17.20/TD_DecisionForest.json +259 -259
- teradataml/data/jsons/sqle/17.20/TD_DecisionForestPredict.json +139 -139
- teradataml/data/jsons/sqle/17.20/TD_FTest.json +269 -186
- teradataml/data/jsons/sqle/17.20/TD_FillRowID.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_FunctionFit.json +46 -46
- teradataml/data/jsons/sqle/17.20/TD_FunctionTransform.json +72 -72
- teradataml/data/jsons/sqle/17.20/TD_GLM.json +507 -431
- teradataml/data/jsons/sqle/17.20/TD_GLMPREDICT.json +168 -125
- teradataml/data/jsons/sqle/17.20/TD_GLMPerSegment.json +411 -411
- teradataml/data/jsons/sqle/17.20/TD_GLMPredictPerSegment.json +146 -146
- teradataml/data/jsons/sqle/17.20/TD_GetFutileColumns.json +93 -91
- teradataml/data/jsons/sqle/17.20/TD_GetRowsWithMissingValues.json +76 -76
- teradataml/data/jsons/sqle/17.20/TD_GetRowsWithoutMissingValues.json +76 -76
- teradataml/data/jsons/sqle/17.20/TD_Histogram.json +152 -152
- teradataml/data/jsons/sqle/17.20/TD_KMeans.json +231 -211
- teradataml/data/jsons/sqle/17.20/TD_KMeansPredict.json +86 -86
- teradataml/data/jsons/sqle/17.20/TD_KNN.json +262 -262
- teradataml/data/jsons/sqle/17.20/TD_NaiveBayesTextClassifierTrainer.json +137 -137
- teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineFit.json +102 -101
- teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineTransform.json +71 -71
- teradataml/data/jsons/sqle/17.20/TD_NumApply.json +147 -147
- teradataml/data/jsons/sqle/17.20/TD_OneClassSVM.json +315 -315
- teradataml/data/jsons/sqle/17.20/TD_OneClassSVMPredict.json +123 -123
- teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingFit.json +271 -271
- teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingTransform.json +65 -65
- teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingFit.json +229 -229
- teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingTransform.json +75 -75
- teradataml/data/jsons/sqle/17.20/TD_OutlierFilterFit.json +217 -217
- teradataml/data/jsons/sqle/17.20/TD_OutlierFilterTransform.json +48 -48
- teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesFit.json +114 -114
- teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesTransform.json +72 -72
- teradataml/data/jsons/sqle/17.20/TD_QQNorm.json +111 -111
- teradataml/data/jsons/sqle/17.20/TD_ROC.json +178 -177
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionFit.json +178 -178
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionMinComponents.json +73 -73
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionTransform.json +74 -74
- teradataml/data/jsons/sqle/17.20/TD_RegressionEvaluator.json +137 -137
- teradataml/data/jsons/sqle/17.20/TD_RoundColumns.json +93 -93
- teradataml/data/jsons/sqle/17.20/TD_RowNormalizeFit.json +127 -127
- teradataml/data/jsons/sqle/17.20/TD_RowNormalizeTransform.json +70 -70
- teradataml/data/jsons/sqle/17.20/TD_SVM.json +389 -389
- teradataml/data/jsons/sqle/17.20/TD_SVMPredict.json +142 -124
- teradataml/data/jsons/sqle/17.20/TD_ScaleFit.json +309 -156
- teradataml/data/jsons/sqle/17.20/TD_ScaleTransform.json +119 -70
- teradataml/data/jsons/sqle/17.20/TD_SentimentExtractor.json +193 -193
- teradataml/data/jsons/sqle/17.20/TD_Silhouette.json +142 -142
- teradataml/data/jsons/sqle/17.20/TD_SimpleImputeFit.json +147 -147
- teradataml/data/jsons/sqle/17.20/TD_SimpleImputeTransform.json +48 -48
- teradataml/data/jsons/sqle/17.20/TD_StrApply.json +240 -240
- teradataml/data/jsons/sqle/17.20/TD_TargetEncodingFit.json +248 -248
- teradataml/data/jsons/sqle/17.20/TD_TargetEncodingTransform.json +75 -75
- teradataml/data/jsons/sqle/17.20/TD_TextParser.json +192 -192
- teradataml/data/jsons/sqle/17.20/TD_TrainTestSplit.json +142 -142
- teradataml/data/jsons/sqle/17.20/TD_UnivariateStatistics.json +117 -117
- teradataml/data/jsons/sqle/17.20/TD_VectorDistance.json +182 -182
- teradataml/data/jsons/sqle/17.20/TD_WhichMax.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_WhichMin.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_WordEmbeddings.json +241 -241
- teradataml/data/jsons/sqle/17.20/TD_XGBoost.json +330 -312
- teradataml/data/jsons/sqle/17.20/TD_XGBoostPredict.json +195 -182
- teradataml/data/jsons/sqle/17.20/TD_ZTest.json +247 -170
- teradataml/data/jsons/sqle/17.20/Unpack.json +188 -188
- teradataml/data/jsons/sqle/17.20/nPath.json +269 -269
- teradataml/data/jsons/tableoperator/17.00/read_nos.json +197 -197
- teradataml/data/jsons/tableoperator/17.05/read_nos.json +197 -197
- teradataml/data/jsons/tableoperator/17.05/write_nos.json +194 -194
- teradataml/data/jsons/tableoperator/17.10/read_nos.json +183 -183
- teradataml/data/jsons/tableoperator/17.10/write_nos.json +194 -194
- teradataml/data/jsons/tableoperator/17.20/read_nos.json +182 -182
- teradataml/data/jsons/tableoperator/17.20/write_nos.json +223 -223
- teradataml/data/jsons/uaf/17.20/TD_ACF.json +149 -149
- teradataml/data/jsons/uaf/17.20/TD_ARIMAESTIMATE.json +409 -409
- teradataml/data/jsons/uaf/17.20/TD_ARIMAFORECAST.json +79 -79
- teradataml/data/jsons/uaf/17.20/TD_ARIMAVALIDATE.json +151 -151
- teradataml/data/jsons/uaf/17.20/TD_BINARYMATRIXOP.json +109 -109
- teradataml/data/jsons/uaf/17.20/TD_BINARYSERIESOP.json +107 -107
- teradataml/data/jsons/uaf/17.20/TD_BREUSCH_GODFREY.json +87 -87
- teradataml/data/jsons/uaf/17.20/TD_BREUSCH_PAGAN_GODFREY.json +106 -106
- teradataml/data/jsons/uaf/17.20/TD_CONVOLVE.json +80 -80
- teradataml/data/jsons/uaf/17.20/TD_CONVOLVE2.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_CUMUL_PERIODOGRAM.json +91 -91
- teradataml/data/jsons/uaf/17.20/TD_DFFT.json +136 -136
- teradataml/data/jsons/uaf/17.20/TD_DFFT2.json +148 -148
- teradataml/data/jsons/uaf/17.20/TD_DFFT2CONV.json +108 -108
- teradataml/data/jsons/uaf/17.20/TD_DFFTCONV.json +109 -109
- teradataml/data/jsons/uaf/17.20/TD_DICKEY_FULLER.json +86 -86
- teradataml/data/jsons/uaf/17.20/TD_DIFF.json +91 -91
- teradataml/data/jsons/uaf/17.20/TD_DTW.json +116 -116
- teradataml/data/jsons/uaf/17.20/TD_DURBIN_WATSON.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_EXTRACT_RESULTS.json +38 -38
- teradataml/data/jsons/uaf/17.20/TD_FITMETRICS.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_GENSERIES4FORMULA.json +84 -84
- teradataml/data/jsons/uaf/17.20/TD_GENSERIES4SINUSOIDS.json +70 -70
- teradataml/data/jsons/uaf/17.20/TD_GOLDFELD_QUANDT.json +152 -152
- teradataml/data/jsons/uaf/17.20/TD_HOLT_WINTERS_FORECAST.json +313 -313
- teradataml/data/jsons/uaf/17.20/TD_IDFFT.json +57 -57
- teradataml/data/jsons/uaf/17.20/TD_IDFFT2.json +94 -94
- teradataml/data/jsons/uaf/17.20/TD_INPUTVALIDATOR.json +63 -63
- teradataml/data/jsons/uaf/17.20/TD_LINEAR_REGR.json +181 -181
- teradataml/data/jsons/uaf/17.20/TD_LINESPEC.json +102 -102
- teradataml/data/jsons/uaf/17.20/TD_MAMEAN.json +182 -182
- teradataml/data/jsons/uaf/17.20/TD_MATRIXMULTIPLY.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_MINFO.json +66 -66
- teradataml/data/jsons/uaf/17.20/TD_MULTIVAR_REGR.json +178 -178
- teradataml/data/jsons/uaf/17.20/TD_PACF.json +114 -114
- teradataml/data/jsons/uaf/17.20/TD_PORTMAN.json +118 -118
- teradataml/data/jsons/uaf/17.20/TD_POWERSPEC.json +175 -175
- teradataml/data/jsons/uaf/17.20/TD_POWERTRANSFORM.json +97 -97
- teradataml/data/jsons/uaf/17.20/TD_RESAMPLE.json +173 -173
- teradataml/data/jsons/uaf/17.20/TD_SEASONALNORMALIZE.json +136 -136
- teradataml/data/jsons/uaf/17.20/TD_SELECTION_CRITERIA.json +89 -89
- teradataml/data/jsons/uaf/17.20/TD_SIGNIF_PERIODICITIES.json +79 -79
- teradataml/data/jsons/uaf/17.20/TD_SIGNIF_RESIDMEAN.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_SIMPLEEXP.json +184 -184
- teradataml/data/jsons/uaf/17.20/TD_SINFO.json +57 -57
- teradataml/data/jsons/uaf/17.20/TD_SMOOTHMA.json +162 -162
- teradataml/data/jsons/uaf/17.20/TD_TRACKINGOP.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_UNDIFF.json +111 -111
- teradataml/data/jsons/uaf/17.20/TD_UNNORMALIZE.json +95 -95
- teradataml/data/jsons/uaf/17.20/TD_WHITES_GENERAL.json +77 -77
- teradataml/data/kmeans_example.json +22 -17
- teradataml/data/kmeans_table.csv +10 -0
- teradataml/data/kmeans_us_arrests_data.csv +0 -0
- teradataml/data/knn_example.json +18 -18
- teradataml/data/knnrecommender_example.json +6 -6
- teradataml/data/knnrecommenderpredict_example.json +12 -12
- teradataml/data/lar_example.json +17 -17
- teradataml/data/larpredict_example.json +30 -30
- teradataml/data/lc_new_predictors.csv +5 -5
- teradataml/data/lc_new_reference.csv +9 -9
- teradataml/data/lda_example.json +8 -8
- teradataml/data/ldainference_example.json +14 -14
- teradataml/data/ldatopicsummary_example.json +8 -8
- teradataml/data/levendist_input.csv +13 -13
- teradataml/data/levenshteindistance_example.json +10 -10
- teradataml/data/linreg_example.json +9 -9
- teradataml/data/load_example_data.py +326 -323
- teradataml/data/loan_prediction.csv +295 -295
- teradataml/data/lungcancer.csv +138 -138
- teradataml/data/mappingdata.csv +12 -12
- teradataml/data/milk_timeseries.csv +157 -157
- teradataml/data/min_max_titanic.csv +4 -4
- teradataml/data/minhash_example.json +6 -6
- teradataml/data/ml_ratings.csv +7547 -7547
- teradataml/data/ml_ratings_10.csv +2445 -2445
- teradataml/data/model1_table.csv +5 -5
- teradataml/data/model2_table.csv +5 -5
- teradataml/data/models/iris_db_glm_model.pmml +56 -56
- teradataml/data/models/iris_db_xgb_model.pmml +4471 -4471
- teradataml/data/modularity_example.json +12 -12
- teradataml/data/movavg_example.json +7 -7
- teradataml/data/mtx1.csv +7 -7
- teradataml/data/mtx2.csv +13 -13
- teradataml/data/multi_model_classification.csv +401 -0
- teradataml/data/multi_model_regression.csv +401 -0
- teradataml/data/mvdfft8.csv +9 -9
- teradataml/data/naivebayes_example.json +9 -9
- teradataml/data/naivebayespredict_example.json +19 -19
- teradataml/data/naivebayestextclassifier2_example.json +6 -6
- teradataml/data/naivebayestextclassifier_example.json +8 -8
- teradataml/data/naivebayestextclassifierpredict_example.json +20 -20
- teradataml/data/name_Find_configure.csv +10 -10
- teradataml/data/namedentityfinder_example.json +14 -14
- teradataml/data/namedentityfinderevaluator_example.json +10 -10
- teradataml/data/namedentityfindertrainer_example.json +6 -6
- teradataml/data/nb_iris_input_test.csv +31 -31
- teradataml/data/nb_iris_input_train.csv +121 -121
- teradataml/data/nbp_iris_model.csv +13 -13
- teradataml/data/ner_extractor_text.csv +2 -2
- teradataml/data/ner_sports_test2.csv +29 -29
- teradataml/data/ner_sports_train.csv +501 -501
- teradataml/data/nerevaluator_example.json +5 -5
- teradataml/data/nerextractor_example.json +18 -18
- teradataml/data/nermem_sports_test.csv +17 -17
- teradataml/data/nermem_sports_train.csv +50 -50
- teradataml/data/nertrainer_example.json +6 -6
- teradataml/data/ngrams_example.json +6 -6
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Aggregate Functions using SQLAlchemy.ipynb +1455 -1455
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Arithmetic Functions Using SQLAlchemy.ipynb +1993 -1993
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Bit-Byte Manipulation Functions using SQLAlchemy.ipynb +1492 -1492
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Built-in functions using SQLAlchemy.ipynb +536 -536
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Regular Expressions Using SQLAlchemy.ipynb +570 -570
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage String Functions Using SQLAlchemy.ipynb +2559 -2559
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Window Aggregate Functions using SQLAlchemy.ipynb +2911 -2911
- teradataml/data/notebooks/sqlalchemy/Using Generic SQLAlchemy ClauseElements teradataml DataFrame assign method.ipynb +698 -698
- teradataml/data/notebooks/sqlalchemy/teradataml filtering using SQLAlchemy ClauseElements.ipynb +784 -784
- teradataml/data/npath_example.json +23 -23
- teradataml/data/ntree_example.json +14 -14
- teradataml/data/numeric_strings.csv +4 -4
- teradataml/data/numerics.csv +4 -4
- teradataml/data/ocean_buoy.csv +17 -17
- teradataml/data/ocean_buoy2.csv +17 -17
- teradataml/data/ocean_buoys.csv +27 -27
- teradataml/data/ocean_buoys2.csv +10 -10
- teradataml/data/ocean_buoys_nonpti.csv +28 -28
- teradataml/data/ocean_buoys_seq.csv +29 -29
- teradataml/data/onehot_encoder_train.csv +4 -0
- teradataml/data/openml_example.json +92 -0
- teradataml/data/optional_event_table.csv +4 -4
- teradataml/data/orders1.csv +11 -11
- teradataml/data/orders1_12.csv +12 -12
- teradataml/data/orders_ex.csv +4 -4
- teradataml/data/pack_example.json +8 -8
- teradataml/data/package_tracking.csv +19 -19
- teradataml/data/package_tracking_pti.csv +18 -18
- teradataml/data/pagerank_example.json +13 -13
- teradataml/data/paragraphs_input.csv +6 -6
- teradataml/data/pathanalyzer_example.json +7 -7
- teradataml/data/pathgenerator_example.json +7 -7
- teradataml/data/phrases.csv +7 -7
- teradataml/data/pivot_example.json +8 -8
- teradataml/data/pivot_input.csv +22 -22
- teradataml/data/playerRating.csv +31 -31
- teradataml/data/postagger_example.json +6 -6
- teradataml/data/posttagger_output.csv +44 -44
- teradataml/data/production_data.csv +16 -16
- teradataml/data/production_data2.csv +7 -7
- teradataml/data/randomsample_example.json +31 -31
- teradataml/data/randomwalksample_example.json +8 -8
- teradataml/data/rank_table.csv +6 -6
- teradataml/data/ref_mobile_data.csv +4 -4
- teradataml/data/ref_mobile_data_dense.csv +2 -2
- teradataml/data/ref_url.csv +17 -17
- teradataml/data/restaurant_reviews.csv +7 -7
- teradataml/data/river_data.csv +145 -145
- teradataml/data/roc_example.json +7 -7
- teradataml/data/roc_input.csv +101 -101
- teradataml/data/rule_inputs.csv +6 -6
- teradataml/data/rule_table.csv +2 -2
- teradataml/data/sales.csv +7 -7
- teradataml/data/sales_transaction.csv +501 -501
- teradataml/data/salesdata.csv +342 -342
- teradataml/data/sample_cities.csv +2 -2
- teradataml/data/sample_shapes.csv +10 -10
- teradataml/data/sample_streets.csv +2 -2
- teradataml/data/sampling_example.json +15 -15
- teradataml/data/sax_example.json +8 -8
- teradataml/data/scale_attributes.csv +3 -0
- teradataml/data/scale_example.json +74 -23
- teradataml/data/scale_housing.csv +11 -11
- teradataml/data/scale_housing_test.csv +6 -6
- teradataml/data/scale_input_part_sparse.csv +31 -0
- teradataml/data/scale_input_partitioned.csv +16 -0
- teradataml/data/scale_input_sparse.csv +11 -0
- teradataml/data/scale_parameters.csv +3 -0
- teradataml/data/scale_stat.csv +11 -11
- teradataml/data/scalebypartition_example.json +13 -13
- teradataml/data/scalemap_example.json +13 -13
- teradataml/data/scalesummary_example.json +12 -12
- teradataml/data/score_category.csv +101 -101
- teradataml/data/score_summary.csv +4 -4
- teradataml/data/script_example.json +9 -9
- teradataml/data/scripts/deploy_script.py +84 -0
- teradataml/data/scripts/mapper.R +20 -0
- teradataml/data/scripts/mapper.py +15 -15
- teradataml/data/scripts/mapper_replace.py +15 -15
- teradataml/data/scripts/sklearn/__init__.py +0 -0
- teradataml/data/scripts/sklearn/sklearn_fit.py +171 -0
- teradataml/data/scripts/sklearn/sklearn_fit_predict.py +127 -0
- teradataml/data/scripts/sklearn/sklearn_function.template +108 -0
- teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +148 -0
- teradataml/data/scripts/sklearn/sklearn_neighbors.py +143 -0
- teradataml/data/scripts/sklearn/sklearn_score.py +119 -0
- teradataml/data/scripts/sklearn/sklearn_transform.py +171 -0
- teradataml/data/seeds.csv +10 -10
- teradataml/data/sentenceextractor_example.json +6 -6
- teradataml/data/sentiment_extract_input.csv +11 -11
- teradataml/data/sentiment_train.csv +16 -16
- teradataml/data/sentiment_word.csv +20 -20
- teradataml/data/sentiment_word_input.csv +19 -19
- teradataml/data/sentimentextractor_example.json +24 -24
- teradataml/data/sentimenttrainer_example.json +8 -8
- teradataml/data/sequence_table.csv +10 -10
- teradataml/data/seriessplitter_example.json +7 -7
- teradataml/data/sessionize_example.json +17 -17
- teradataml/data/sessionize_table.csv +116 -116
- teradataml/data/setop_test1.csv +24 -24
- teradataml/data/setop_test2.csv +22 -22
- teradataml/data/soc_nw_edges.csv +10 -10
- teradataml/data/soc_nw_vertices.csv +7 -7
- teradataml/data/souvenir_timeseries.csv +167 -167
- teradataml/data/sparse_iris_attribute.csv +5 -5
- teradataml/data/sparse_iris_test.csv +121 -121
- teradataml/data/sparse_iris_train.csv +601 -601
- teradataml/data/star1.csv +6 -6
- teradataml/data/state_transition.csv +5 -5
- teradataml/data/stock_data.csv +53 -53
- teradataml/data/stock_movement.csv +11 -11
- teradataml/data/stock_vol.csv +76 -76
- teradataml/data/stop_words.csv +8 -8
- teradataml/data/store_sales.csv +37 -37
- teradataml/data/stringsimilarity_example.json +7 -7
- teradataml/data/strsimilarity_input.csv +13 -13
- teradataml/data/students.csv +101 -101
- teradataml/data/svm_iris_input_test.csv +121 -121
- teradataml/data/svm_iris_input_train.csv +481 -481
- teradataml/data/svm_iris_model.csv +7 -7
- teradataml/data/svmdense_example.json +9 -9
- teradataml/data/svmdensepredict_example.json +18 -18
- teradataml/data/svmsparse_example.json +7 -7
- teradataml/data/svmsparsepredict_example.json +13 -13
- teradataml/data/svmsparsesummary_example.json +7 -7
- teradataml/data/target_mobile_data.csv +13 -13
- teradataml/data/target_mobile_data_dense.csv +5 -5
- teradataml/data/templatedata.csv +1201 -1201
- teradataml/data/templates/open_source_ml.json +9 -0
- teradataml/data/teradataml_example.json +150 -1
- teradataml/data/test_classification.csv +101 -0
- teradataml/data/test_loan_prediction.csv +53 -53
- teradataml/data/test_pacf_12.csv +37 -37
- teradataml/data/test_prediction.csv +101 -0
- teradataml/data/test_regression.csv +101 -0
- teradataml/data/test_river2.csv +109 -109
- teradataml/data/text_inputs.csv +6 -6
- teradataml/data/textchunker_example.json +7 -7
- teradataml/data/textclassifier_example.json +6 -6
- teradataml/data/textclassifier_input.csv +7 -7
- teradataml/data/textclassifiertrainer_example.json +6 -6
- teradataml/data/textmorph_example.json +5 -5
- teradataml/data/textparser_example.json +15 -15
- teradataml/data/texttagger_example.json +11 -11
- teradataml/data/texttokenizer_example.json +6 -6
- teradataml/data/texttrainer_input.csv +11 -11
- teradataml/data/tf_example.json +6 -6
- teradataml/data/tfidf_example.json +13 -13
- teradataml/data/tfidf_input1.csv +201 -201
- teradataml/data/tfidf_train.csv +6 -6
- teradataml/data/time_table1.csv +535 -535
- teradataml/data/time_table2.csv +14 -14
- teradataml/data/timeseriesdata.csv +1601 -1601
- teradataml/data/timeseriesdatasetsd4.csv +105 -105
- teradataml/data/titanic.csv +892 -892
- teradataml/data/token_table.csv +696 -696
- teradataml/data/train_multiclass.csv +101 -0
- teradataml/data/train_regression.csv +101 -0
- teradataml/data/train_regression_multiple_labels.csv +101 -0
- teradataml/data/train_tracking.csv +27 -27
- teradataml/data/transformation_table.csv +5 -5
- teradataml/data/transformation_table_new.csv +1 -1
- teradataml/data/tv_spots.csv +16 -16
- teradataml/data/twod_climate_data.csv +117 -117
- teradataml/data/uaf_example.json +475 -475
- teradataml/data/univariatestatistics_example.json +8 -8
- teradataml/data/unpack_example.json +9 -9
- teradataml/data/unpivot_example.json +9 -9
- teradataml/data/unpivot_input.csv +8 -8
- teradataml/data/us_air_pass.csv +36 -36
- teradataml/data/us_population.csv +624 -624
- teradataml/data/us_states_shapes.csv +52 -52
- teradataml/data/varmax_example.json +17 -17
- teradataml/data/vectordistance_example.json +25 -25
- teradataml/data/ville_climatedata.csv +121 -121
- teradataml/data/ville_tempdata.csv +12 -12
- teradataml/data/ville_tempdata1.csv +12 -12
- teradataml/data/ville_temperature.csv +11 -11
- teradataml/data/waveletTable.csv +1605 -1605
- teradataml/data/waveletTable2.csv +1605 -1605
- teradataml/data/weightedmovavg_example.json +8 -8
- teradataml/data/wft_testing.csv +5 -5
- teradataml/data/wine_data.csv +1600 -0
- teradataml/data/word_embed_input_table1.csv +5 -5
- teradataml/data/word_embed_input_table2.csv +4 -4
- teradataml/data/word_embed_model.csv +22 -22
- teradataml/data/words_input.csv +13 -13
- teradataml/data/xconvolve_complex_left.csv +6 -6
- teradataml/data/xconvolve_complex_leftmulti.csv +6 -6
- teradataml/data/xgboost_example.json +35 -35
- teradataml/data/xgboostpredict_example.json +31 -31
- teradataml/data/ztest_example.json +16 -0
- teradataml/dataframe/copy_to.py +1769 -1698
- teradataml/dataframe/data_transfer.py +2812 -2745
- teradataml/dataframe/dataframe.py +17630 -16946
- teradataml/dataframe/dataframe_utils.py +1875 -1740
- teradataml/dataframe/fastload.py +794 -603
- teradataml/dataframe/indexer.py +424 -424
- teradataml/dataframe/setop.py +1179 -1166
- teradataml/dataframe/sql.py +10174 -6432
- teradataml/dataframe/sql_function_parameters.py +439 -388
- teradataml/dataframe/sql_functions.py +652 -652
- teradataml/dataframe/sql_interfaces.py +220 -220
- teradataml/dataframe/vantage_function_types.py +674 -630
- teradataml/dataframe/window.py +693 -692
- teradataml/dbutils/__init__.py +3 -3
- teradataml/dbutils/dbutils.py +1167 -1150
- teradataml/dbutils/filemgr.py +267 -267
- teradataml/gen_ai/__init__.py +2 -2
- teradataml/gen_ai/convAI.py +472 -472
- teradataml/geospatial/__init__.py +3 -3
- teradataml/geospatial/geodataframe.py +1105 -1094
- teradataml/geospatial/geodataframecolumn.py +392 -387
- teradataml/geospatial/geometry_types.py +925 -925
- teradataml/hyperparameter_tuner/__init__.py +1 -1
- teradataml/hyperparameter_tuner/optimizer.py +3783 -2993
- teradataml/hyperparameter_tuner/utils.py +281 -187
- teradataml/lib/aed_0_1.dll +0 -0
- teradataml/lib/libaed_0_1.dylib +0 -0
- teradataml/lib/libaed_0_1.so +0 -0
- teradataml/libaed_0_1.dylib +0 -0
- teradataml/libaed_0_1.so +0 -0
- teradataml/opensource/__init__.py +1 -0
- teradataml/opensource/sklearn/__init__.py +1 -0
- teradataml/opensource/sklearn/_class.py +255 -0
- teradataml/opensource/sklearn/_sklearn_wrapper.py +1715 -0
- teradataml/opensource/sklearn/_wrapper_utils.py +268 -0
- teradataml/opensource/sklearn/constants.py +54 -0
- teradataml/options/__init__.py +130 -124
- teradataml/options/configure.py +358 -336
- teradataml/options/display.py +176 -176
- teradataml/plot/__init__.py +2 -2
- teradataml/plot/axis.py +1388 -1388
- teradataml/plot/constants.py +15 -15
- teradataml/plot/figure.py +398 -398
- teradataml/plot/plot.py +760 -760
- teradataml/plot/query_generator.py +83 -83
- teradataml/plot/subplot.py +216 -216
- teradataml/scriptmgmt/UserEnv.py +3791 -3761
- teradataml/scriptmgmt/__init__.py +3 -3
- teradataml/scriptmgmt/lls_utils.py +1719 -1604
- teradataml/series/series.py +532 -532
- teradataml/series/series_utils.py +71 -71
- teradataml/table_operators/Apply.py +949 -917
- teradataml/table_operators/Script.py +1718 -1982
- teradataml/table_operators/TableOperator.py +1255 -1616
- teradataml/table_operators/__init__.py +2 -3
- teradataml/table_operators/apply_query_generator.py +262 -262
- teradataml/table_operators/query_generator.py +507 -507
- teradataml/table_operators/table_operator_query_generator.py +460 -460
- teradataml/table_operators/table_operator_util.py +631 -639
- teradataml/table_operators/templates/dataframe_apply.template +184 -184
- teradataml/table_operators/templates/dataframe_map.template +176 -176
- teradataml/table_operators/templates/script_executor.template +170 -170
- teradataml/utils/dtypes.py +684 -684
- teradataml/utils/internal_buffer.py +84 -84
- teradataml/utils/print_versions.py +205 -205
- teradataml/utils/utils.py +410 -410
- teradataml/utils/validators.py +2277 -2115
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/METADATA +346 -45
- teradataml-20.0.0.1.dist-info/RECORD +1056 -0
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/WHEEL +1 -1
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/zip-safe +1 -1
- teradataml/analytics/mle/AdaBoost.py +0 -651
- teradataml/analytics/mle/AdaBoostPredict.py +0 -564
- teradataml/analytics/mle/Antiselect.py +0 -342
- teradataml/analytics/mle/Arima.py +0 -641
- teradataml/analytics/mle/ArimaPredict.py +0 -477
- teradataml/analytics/mle/Attribution.py +0 -1070
- teradataml/analytics/mle/Betweenness.py +0 -658
- teradataml/analytics/mle/Burst.py +0 -711
- teradataml/analytics/mle/CCM.py +0 -600
- teradataml/analytics/mle/CCMPrepare.py +0 -324
- teradataml/analytics/mle/CFilter.py +0 -460
- teradataml/analytics/mle/ChangePointDetection.py +0 -572
- teradataml/analytics/mle/ChangePointDetectionRT.py +0 -477
- teradataml/analytics/mle/Closeness.py +0 -737
- teradataml/analytics/mle/ConfusionMatrix.py +0 -420
- teradataml/analytics/mle/Correlation.py +0 -477
- teradataml/analytics/mle/Correlation2.py +0 -573
- teradataml/analytics/mle/CoxHazardRatio.py +0 -679
- teradataml/analytics/mle/CoxPH.py +0 -556
- teradataml/analytics/mle/CoxSurvival.py +0 -478
- teradataml/analytics/mle/CumulativeMovAvg.py +0 -363
- teradataml/analytics/mle/DTW.py +0 -623
- teradataml/analytics/mle/DWT.py +0 -564
- teradataml/analytics/mle/DWT2D.py +0 -599
- teradataml/analytics/mle/DecisionForest.py +0 -716
- teradataml/analytics/mle/DecisionForestEvaluator.py +0 -363
- teradataml/analytics/mle/DecisionForestPredict.py +0 -561
- teradataml/analytics/mle/DecisionTree.py +0 -830
- teradataml/analytics/mle/DecisionTreePredict.py +0 -528
- teradataml/analytics/mle/ExponentialMovAvg.py +0 -418
- teradataml/analytics/mle/FMeasure.py +0 -402
- teradataml/analytics/mle/FPGrowth.py +0 -734
- teradataml/analytics/mle/FrequentPaths.py +0 -695
- teradataml/analytics/mle/GLM.py +0 -558
- teradataml/analytics/mle/GLML1L2.py +0 -547
- teradataml/analytics/mle/GLML1L2Predict.py +0 -519
- teradataml/analytics/mle/GLMPredict.py +0 -529
- teradataml/analytics/mle/HMMDecoder.py +0 -945
- teradataml/analytics/mle/HMMEvaluator.py +0 -901
- teradataml/analytics/mle/HMMSupervised.py +0 -521
- teradataml/analytics/mle/HMMUnsupervised.py +0 -572
- teradataml/analytics/mle/Histogram.py +0 -561
- teradataml/analytics/mle/IDWT.py +0 -476
- teradataml/analytics/mle/IDWT2D.py +0 -493
- teradataml/analytics/mle/IdentityMatch.py +0 -763
- teradataml/analytics/mle/Interpolator.py +0 -918
- teradataml/analytics/mle/KMeans.py +0 -485
- teradataml/analytics/mle/KNN.py +0 -627
- teradataml/analytics/mle/KNNRecommender.py +0 -488
- teradataml/analytics/mle/KNNRecommenderPredict.py +0 -581
- teradataml/analytics/mle/LAR.py +0 -439
- teradataml/analytics/mle/LARPredict.py +0 -478
- teradataml/analytics/mle/LDA.py +0 -548
- teradataml/analytics/mle/LDAInference.py +0 -492
- teradataml/analytics/mle/LDATopicSummary.py +0 -464
- teradataml/analytics/mle/LevenshteinDistance.py +0 -450
- teradataml/analytics/mle/LinReg.py +0 -433
- teradataml/analytics/mle/LinRegPredict.py +0 -438
- teradataml/analytics/mle/MinHash.py +0 -544
- teradataml/analytics/mle/Modularity.py +0 -587
- teradataml/analytics/mle/NEREvaluator.py +0 -410
- teradataml/analytics/mle/NERExtractor.py +0 -595
- teradataml/analytics/mle/NERTrainer.py +0 -458
- teradataml/analytics/mle/NGrams.py +0 -570
- teradataml/analytics/mle/NPath.py +0 -634
- teradataml/analytics/mle/NTree.py +0 -549
- teradataml/analytics/mle/NaiveBayes.py +0 -462
- teradataml/analytics/mle/NaiveBayesPredict.py +0 -513
- teradataml/analytics/mle/NaiveBayesTextClassifier.py +0 -607
- teradataml/analytics/mle/NaiveBayesTextClassifier2.py +0 -531
- teradataml/analytics/mle/NaiveBayesTextClassifierPredict.py +0 -799
- teradataml/analytics/mle/NamedEntityFinder.py +0 -529
- teradataml/analytics/mle/NamedEntityFinderEvaluator.py +0 -414
- teradataml/analytics/mle/NamedEntityFinderTrainer.py +0 -396
- teradataml/analytics/mle/POSTagger.py +0 -417
- teradataml/analytics/mle/Pack.py +0 -411
- teradataml/analytics/mle/PageRank.py +0 -535
- teradataml/analytics/mle/PathAnalyzer.py +0 -426
- teradataml/analytics/mle/PathGenerator.py +0 -367
- teradataml/analytics/mle/PathStart.py +0 -464
- teradataml/analytics/mle/PathSummarizer.py +0 -470
- teradataml/analytics/mle/Pivot.py +0 -471
- teradataml/analytics/mle/ROC.py +0 -425
- teradataml/analytics/mle/RandomSample.py +0 -637
- teradataml/analytics/mle/RandomWalkSample.py +0 -490
- teradataml/analytics/mle/SAX.py +0 -779
- teradataml/analytics/mle/SVMDense.py +0 -677
- teradataml/analytics/mle/SVMDensePredict.py +0 -536
- teradataml/analytics/mle/SVMDenseSummary.py +0 -437
- teradataml/analytics/mle/SVMSparse.py +0 -557
- teradataml/analytics/mle/SVMSparsePredict.py +0 -553
- teradataml/analytics/mle/SVMSparseSummary.py +0 -435
- teradataml/analytics/mle/Sampling.py +0 -549
- teradataml/analytics/mle/Scale.py +0 -565
- teradataml/analytics/mle/ScaleByPartition.py +0 -496
- teradataml/analytics/mle/ScaleMap.py +0 -378
- teradataml/analytics/mle/ScaleSummary.py +0 -320
- teradataml/analytics/mle/SentenceExtractor.py +0 -363
- teradataml/analytics/mle/SentimentEvaluator.py +0 -432
- teradataml/analytics/mle/SentimentExtractor.py +0 -578
- teradataml/analytics/mle/SentimentTrainer.py +0 -405
- teradataml/analytics/mle/SeriesSplitter.py +0 -641
- teradataml/analytics/mle/Sessionize.py +0 -475
- teradataml/analytics/mle/SimpleMovAvg.py +0 -397
- teradataml/analytics/mle/StringSimilarity.py +0 -425
- teradataml/analytics/mle/TF.py +0 -389
- teradataml/analytics/mle/TFIDF.py +0 -504
- teradataml/analytics/mle/TextChunker.py +0 -414
- teradataml/analytics/mle/TextClassifier.py +0 -399
- teradataml/analytics/mle/TextClassifierEvaluator.py +0 -413
- teradataml/analytics/mle/TextClassifierTrainer.py +0 -565
- teradataml/analytics/mle/TextMorph.py +0 -494
- teradataml/analytics/mle/TextParser.py +0 -623
- teradataml/analytics/mle/TextTagger.py +0 -530
- teradataml/analytics/mle/TextTokenizer.py +0 -502
- teradataml/analytics/mle/UnivariateStatistics.py +0 -488
- teradataml/analytics/mle/Unpack.py +0 -526
- teradataml/analytics/mle/Unpivot.py +0 -438
- teradataml/analytics/mle/VarMax.py +0 -776
- teradataml/analytics/mle/VectorDistance.py +0 -762
- teradataml/analytics/mle/WeightedMovAvg.py +0 -400
- teradataml/analytics/mle/XGBoost.py +0 -842
- teradataml/analytics/mle/XGBoostPredict.py +0 -627
- teradataml/analytics/mle/__init__.py +0 -123
- teradataml/analytics/mle/json/adaboost_mle.json +0 -135
- teradataml/analytics/mle/json/adaboostpredict_mle.json +0 -85
- teradataml/analytics/mle/json/antiselect_mle.json +0 -34
- teradataml/analytics/mle/json/antiselect_mle_mle.json +0 -34
- teradataml/analytics/mle/json/arima_mle.json +0 -172
- teradataml/analytics/mle/json/arimapredict_mle.json +0 -52
- teradataml/analytics/mle/json/attribution_mle_mle.json +0 -143
- teradataml/analytics/mle/json/betweenness_mle.json +0 -97
- teradataml/analytics/mle/json/burst_mle.json +0 -140
- teradataml/analytics/mle/json/ccm_mle.json +0 -124
- teradataml/analytics/mle/json/ccmprepare_mle.json +0 -14
- teradataml/analytics/mle/json/cfilter_mle.json +0 -93
- teradataml/analytics/mle/json/changepointdetection_mle.json +0 -92
- teradataml/analytics/mle/json/changepointdetectionrt_mle.json +0 -78
- teradataml/analytics/mle/json/closeness_mle.json +0 -104
- teradataml/analytics/mle/json/confusionmatrix_mle.json +0 -79
- teradataml/analytics/mle/json/correlation_mle.json +0 -86
- teradataml/analytics/mle/json/correlationreduce_mle.json +0 -49
- teradataml/analytics/mle/json/coxhazardratio_mle.json +0 -89
- teradataml/analytics/mle/json/coxph_mle.json +0 -98
- teradataml/analytics/mle/json/coxsurvival_mle.json +0 -79
- teradataml/analytics/mle/json/cumulativemovavg_mle.json +0 -34
- teradataml/analytics/mle/json/decisionforest_mle.json +0 -167
- teradataml/analytics/mle/json/decisionforestevaluator_mle.json +0 -33
- teradataml/analytics/mle/json/decisionforestpredict_mle_mle.json +0 -74
- teradataml/analytics/mle/json/decisiontree_mle.json +0 -194
- teradataml/analytics/mle/json/decisiontreepredict_mle_mle.json +0 -86
- teradataml/analytics/mle/json/dtw_mle.json +0 -97
- teradataml/analytics/mle/json/dwt2d_mle.json +0 -116
- teradataml/analytics/mle/json/dwt_mle.json +0 -101
- teradataml/analytics/mle/json/exponentialmovavg_mle.json +0 -55
- teradataml/analytics/mle/json/fmeasure_mle.json +0 -58
- teradataml/analytics/mle/json/fpgrowth_mle.json +0 -159
- teradataml/analytics/mle/json/frequentpaths_mle.json +0 -129
- teradataml/analytics/mle/json/glm_mle.json +0 -111
- teradataml/analytics/mle/json/glml1l2_mle.json +0 -106
- teradataml/analytics/mle/json/glml1l2predict_mle.json +0 -57
- teradataml/analytics/mle/json/glmpredict_mle_mle.json +0 -74
- teradataml/analytics/mle/json/histogram_mle.json +0 -100
- teradataml/analytics/mle/json/hmmdecoder_mle.json +0 -192
- teradataml/analytics/mle/json/hmmevaluator_mle.json +0 -206
- teradataml/analytics/mle/json/hmmsupervised_mle.json +0 -91
- teradataml/analytics/mle/json/hmmunsupervised_mle.json +0 -114
- teradataml/analytics/mle/json/identitymatch_mle.json +0 -88
- teradataml/analytics/mle/json/idwt2d_mle.json +0 -73
- teradataml/analytics/mle/json/idwt_mle.json +0 -66
- teradataml/analytics/mle/json/interpolator_mle.json +0 -151
- teradataml/analytics/mle/json/kmeans_mle.json +0 -97
- teradataml/analytics/mle/json/knn_mle.json +0 -141
- teradataml/analytics/mle/json/knnrecommender_mle.json +0 -111
- teradataml/analytics/mle/json/knnrecommenderpredict_mle.json +0 -75
- teradataml/analytics/mle/json/lar_mle.json +0 -78
- teradataml/analytics/mle/json/larpredict_mle.json +0 -69
- teradataml/analytics/mle/json/lda_mle.json +0 -130
- teradataml/analytics/mle/json/ldainference_mle.json +0 -78
- teradataml/analytics/mle/json/ldatopicsummary_mle.json +0 -64
- teradataml/analytics/mle/json/levenshteindistance_mle.json +0 -92
- teradataml/analytics/mle/json/linreg_mle.json +0 -42
- teradataml/analytics/mle/json/linregpredict_mle.json +0 -56
- teradataml/analytics/mle/json/minhash_mle.json +0 -113
- teradataml/analytics/mle/json/modularity_mle.json +0 -91
- teradataml/analytics/mle/json/naivebayespredict_mle_mle.json +0 -85
- teradataml/analytics/mle/json/naivebayesreduce_mle.json +0 -52
- teradataml/analytics/mle/json/naivebayestextclassifierpredict_mle_mle.json +0 -147
- teradataml/analytics/mle/json/naivebayestextclassifiertrainer2_mle.json +0 -108
- teradataml/analytics/mle/json/naivebayestextclassifiertrainer_mle.json +0 -102
- teradataml/analytics/mle/json/namedentityfinder_mle.json +0 -84
- teradataml/analytics/mle/json/namedentityfinderevaluatorreduce_mle.json +0 -43
- teradataml/analytics/mle/json/namedentityfindertrainer_mle.json +0 -64
- teradataml/analytics/mle/json/nerevaluator_mle.json +0 -54
- teradataml/analytics/mle/json/nerextractor_mle.json +0 -87
- teradataml/analytics/mle/json/nertrainer_mle.json +0 -89
- teradataml/analytics/mle/json/ngrams_mle.json +0 -137
- teradataml/analytics/mle/json/ngramsplitter_mle_mle.json +0 -137
- teradataml/analytics/mle/json/npath@coprocessor_mle.json +0 -73
- teradataml/analytics/mle/json/ntree@coprocessor_mle.json +0 -123
- teradataml/analytics/mle/json/pack_mle.json +0 -58
- teradataml/analytics/mle/json/pack_mle_mle.json +0 -58
- teradataml/analytics/mle/json/pagerank_mle.json +0 -81
- teradataml/analytics/mle/json/pathanalyzer_mle.json +0 -63
- teradataml/analytics/mle/json/pathgenerator_mle.json +0 -40
- teradataml/analytics/mle/json/pathstart_mle.json +0 -62
- teradataml/analytics/mle/json/pathsummarizer_mle.json +0 -72
- teradataml/analytics/mle/json/pivoting_mle.json +0 -71
- teradataml/analytics/mle/json/postagger_mle.json +0 -51
- teradataml/analytics/mle/json/randomsample_mle.json +0 -131
- teradataml/analytics/mle/json/randomwalksample_mle.json +0 -85
- teradataml/analytics/mle/json/roc_mle.json +0 -73
- teradataml/analytics/mle/json/sampling_mle.json +0 -75
- teradataml/analytics/mle/json/sax_mle.json +0 -154
- teradataml/analytics/mle/json/scale_mle.json +0 -93
- teradataml/analytics/mle/json/scalebypartition_mle.json +0 -89
- teradataml/analytics/mle/json/scalemap_mle.json +0 -44
- teradataml/analytics/mle/json/scalesummary_mle.json +0 -14
- teradataml/analytics/mle/json/sentenceextractor_mle.json +0 -41
- teradataml/analytics/mle/json/sentimentevaluator_mle.json +0 -43
- teradataml/analytics/mle/json/sentimentextractor_mle.json +0 -100
- teradataml/analytics/mle/json/sentimenttrainer_mle.json +0 -68
- teradataml/analytics/mle/json/seriessplitter_mle.json +0 -133
- teradataml/analytics/mle/json/sessionize_mle_mle.json +0 -62
- teradataml/analytics/mle/json/simplemovavg_mle.json +0 -48
- teradataml/analytics/mle/json/stringsimilarity_mle.json +0 -50
- teradataml/analytics/mle/json/stringsimilarity_mle_mle.json +0 -50
- teradataml/analytics/mle/json/svmdense_mle.json +0 -165
- teradataml/analytics/mle/json/svmdensepredict_mle.json +0 -95
- teradataml/analytics/mle/json/svmdensesummary_mle.json +0 -58
- teradataml/analytics/mle/json/svmsparse_mle.json +0 -148
- teradataml/analytics/mle/json/svmsparsepredict_mle_mle.json +0 -103
- teradataml/analytics/mle/json/svmsparsesummary_mle.json +0 -57
- teradataml/analytics/mle/json/textchunker_mle.json +0 -40
- teradataml/analytics/mle/json/textclassifier_mle.json +0 -51
- teradataml/analytics/mle/json/textclassifierevaluator_mle.json +0 -43
- teradataml/analytics/mle/json/textclassifiertrainer_mle.json +0 -103
- teradataml/analytics/mle/json/textmorph_mle.json +0 -63
- teradataml/analytics/mle/json/textparser_mle.json +0 -166
- teradataml/analytics/mle/json/texttagger_mle.json +0 -81
- teradataml/analytics/mle/json/texttokenizer_mle.json +0 -91
- teradataml/analytics/mle/json/tf_mle.json +0 -33
- teradataml/analytics/mle/json/tfidf_mle.json +0 -34
- teradataml/analytics/mle/json/univariatestatistics_mle.json +0 -81
- teradataml/analytics/mle/json/unpack_mle.json +0 -91
- teradataml/analytics/mle/json/unpack_mle_mle.json +0 -91
- teradataml/analytics/mle/json/unpivoting_mle.json +0 -63
- teradataml/analytics/mle/json/varmax_mle.json +0 -176
- teradataml/analytics/mle/json/vectordistance_mle.json +0 -179
- teradataml/analytics/mle/json/weightedmovavg_mle.json +0 -48
- teradataml/analytics/mle/json/xgboost_mle.json +0 -178
- teradataml/analytics/mle/json/xgboostpredict_mle.json +0 -104
- teradataml/analytics/sqle/Antiselect.py +0 -321
- teradataml/analytics/sqle/Attribution.py +0 -603
- teradataml/analytics/sqle/DecisionForestPredict.py +0 -408
- teradataml/analytics/sqle/GLMPredict.py +0 -430
- teradataml/analytics/sqle/MovingAverage.py +0 -543
- teradataml/analytics/sqle/NGramSplitter.py +0 -548
- teradataml/analytics/sqle/NPath.py +0 -632
- teradataml/analytics/sqle/NaiveBayesTextClassifierPredict.py +0 -515
- teradataml/analytics/sqle/Pack.py +0 -388
- teradataml/analytics/sqle/SVMSparsePredict.py +0 -464
- teradataml/analytics/sqle/Sessionize.py +0 -390
- teradataml/analytics/sqle/StringSimilarity.py +0 -400
- teradataml/analytics/sqle/Unpack.py +0 -503
- teradataml/analytics/sqle/json/antiselect_sqle.json +0 -21
- teradataml/analytics/sqle/json/attribution_sqle.json +0 -92
- teradataml/analytics/sqle/json/decisionforestpredict_sqle.json +0 -48
- teradataml/analytics/sqle/json/glmpredict_sqle.json +0 -48
- teradataml/analytics/sqle/json/h2opredict_sqle.json +0 -63
- teradataml/analytics/sqle/json/movingaverage_sqle.json +0 -58
- teradataml/analytics/sqle/json/naivebayestextclassifierpredict_sqle.json +0 -76
- teradataml/analytics/sqle/json/ngramsplitter_sqle.json +0 -126
- teradataml/analytics/sqle/json/npath_sqle.json +0 -67
- teradataml/analytics/sqle/json/pack_sqle.json +0 -47
- teradataml/analytics/sqle/json/pmmlpredict_sqle.json +0 -55
- teradataml/analytics/sqle/json/sessionize_sqle.json +0 -43
- teradataml/analytics/sqle/json/stringsimilarity_sqle.json +0 -39
- teradataml/analytics/sqle/json/svmsparsepredict_sqle.json +0 -74
- teradataml/analytics/sqle/json/unpack_sqle.json +0 -80
- teradataml/catalog/model_cataloging.py +0 -980
- teradataml/config/mlengine_alias_definitions_v1.0 +0 -118
- teradataml/config/mlengine_alias_definitions_v1.1 +0 -127
- teradataml/config/mlengine_alias_definitions_v1.3 +0 -129
- teradataml/table_operators/sandbox_container_util.py +0 -643
- teradataml-17.20.0.7.dist-info/RECORD +0 -1280
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/top_level.txt +0 -0
|
@@ -1,698 +1,698 @@
|
|
|
1
|
-
{
|
|
2
|
-
"cells": [
|
|
3
|
-
{
|
|
4
|
-
"cell_type": "markdown",
|
|
5
|
-
"metadata": {},
|
|
6
|
-
"source": [
|
|
7
|
-
"### Disclaimer\n",
|
|
8
|
-
"Please note, the Vantage Functions via SQLAlchemy feature is a preview/beta code release with limited functionality (the “Code”). As such, you acknowledge that the Code is experimental in nature and that the Code is provided “AS IS” and may not be functional on any machine or in any environment. TERADATA DISCLAIMS ALL WARRANTIES RELATING TO THE CODE, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES AGAINST INFRINGEMENT OF THIRD-PARTY RIGHTS, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n",
|
|
9
|
-
"\n",
|
|
10
|
-
"TERADATA SHALL NOT BE RESPONSIBLE OR LIABLE WITH RESPECT TO ANY SUBJECT MATTER OF THE CODE UNDER ANY CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHER THEORY \n",
|
|
11
|
-
" (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, OR \n",
|
|
12
|
-
" (B) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO LOSS OF REVENUES AND LOSS OF PROFITS. TERADATA SHALL NOT BE RESPONSIBLE FOR ANY MATTER BEYOND ITS REASONABLE CONTROL.\n",
|
|
13
|
-
"\n",
|
|
14
|
-
"Notwithstanding anything to the contrary: \n",
|
|
15
|
-
" (a) Teradata will have no obligation of any kind with respect to any Code-related comments, suggestions, design changes or improvements that you elect to provide to Teradata in either verbal or written form (collectively, “Feedback”), and \n",
|
|
16
|
-
" (b) Teradata and its affiliates are hereby free to use any ideas, concepts, know-how or techniques, in whole or in part, contained in Feedback: \n",
|
|
17
|
-
" (i) for any purpose whatsoever, including developing, manufacturing, and/or marketing products and/or services incorporating Feedback in whole or in part, and \n",
|
|
18
|
-
" (ii) without any restrictions or limitations, including requiring the payment of any license fees, royalties, or other consideration. "
|
|
19
|
-
]
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"cell_type": "code",
|
|
23
|
-
"execution_count": 1,
|
|
24
|
-
"metadata": {},
|
|
25
|
-
"outputs": [
|
|
26
|
-
{
|
|
27
|
-
"name": "stdout",
|
|
28
|
-
"output_type": "stream",
|
|
29
|
-
"text": [
|
|
30
|
-
"Hostname: ········\n",
|
|
31
|
-
"Username: ········\n",
|
|
32
|
-
"Password: ········\n",
|
|
33
|
-
"WARNING: Skipped loading table admissions_train since it already exists in the database.\n"
|
|
34
|
-
]
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
"source": [
|
|
38
|
-
"# Get the connection to the Vantage using create_context()\n",
|
|
39
|
-
"from teradataml import *\n",
|
|
40
|
-
"import getpass\n",
|
|
41
|
-
"td_context = create_context(host=getpass.getpass(\"Hostname: \"), username=getpass.getpass(\"Username: \"), password=getpass.getpass(\"Password: \"))\n",
|
|
42
|
-
"\n",
|
|
43
|
-
"# Load the example dataset.\n",
|
|
44
|
-
"load_example_data(\"GLM\", [\"admissions_train\"])"
|
|
45
|
-
]
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"cell_type": "code",
|
|
49
|
-
"execution_count": 2,
|
|
50
|
-
"metadata": {},
|
|
51
|
-
"outputs": [
|
|
52
|
-
{
|
|
53
|
-
"data": {
|
|
54
|
-
"text/plain": [
|
|
55
|
-
" masters gpa stats programming admitted\n",
|
|
56
|
-
"id \n",
|
|
57
|
-
"15 yes 4.00 Advanced Advanced 1\n",
|
|
58
|
-
"7 yes 2.33 Novice Novice 1\n",
|
|
59
|
-
"22 yes 3.46 Novice Beginner 0\n",
|
|
60
|
-
"17 no 3.83 Advanced Advanced 1\n",
|
|
61
|
-
"13 no 4.00 Advanced Novice 1\n",
|
|
62
|
-
"38 yes 2.65 Advanced Beginner 1\n",
|
|
63
|
-
"26 yes 3.57 Advanced Advanced 1\n",
|
|
64
|
-
"5 no 3.44 Novice Novice 0\n",
|
|
65
|
-
"34 yes 3.85 Advanced Beginner 0\n",
|
|
66
|
-
"40 yes 3.95 Novice Beginner 0"
|
|
67
|
-
]
|
|
68
|
-
},
|
|
69
|
-
"execution_count": 2,
|
|
70
|
-
"metadata": {},
|
|
71
|
-
"output_type": "execute_result"
|
|
72
|
-
}
|
|
73
|
-
],
|
|
74
|
-
"source": [
|
|
75
|
-
"# Create the DataFrame on 'admissions_train' table\n",
|
|
76
|
-
"admissions_train = DataFrame(\"admissions_train\")\n",
|
|
77
|
-
"admissions_train"
|
|
78
|
-
]
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"cell_type": "code",
|
|
82
|
-
"execution_count": 3,
|
|
83
|
-
"metadata": {},
|
|
84
|
-
"outputs": [],
|
|
85
|
-
"source": [
|
|
86
|
-
"# Helper function to print some details of dataframe.\n",
|
|
87
|
-
"def print_variables(df, columns):\n",
|
|
88
|
-
" print(\"Equivalent SQL: {}\".format(df.show_query()))\n",
|
|
89
|
-
" print(\"\\n\")\n",
|
|
90
|
-
" print(\" ************************* DataFrame ********************* \")\n",
|
|
91
|
-
" print(df)\n",
|
|
92
|
-
" print(\"\\n\\n\")\n",
|
|
93
|
-
" print(\" ************************* DataFrame.dtypes ********************* \")\n",
|
|
94
|
-
" print(df.dtypes)\n",
|
|
95
|
-
" print(\"\\n\\n\")\n",
|
|
96
|
-
" if isinstance(columns, str):\n",
|
|
97
|
-
" columns = [columns]\n",
|
|
98
|
-
" for col in columns:\n",
|
|
99
|
-
" coltype = df.__getattr__(col).type\n",
|
|
100
|
-
" if isinstance(coltype, sqlalchemy.sql.sqltypes.NullType):\n",
|
|
101
|
-
" coltype = \"NullType\"\n",
|
|
102
|
-
" print(\" '{}' Column Type: {}\".format(col, coltype))"
|
|
103
|
-
]
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"cell_type": "markdown",
|
|
107
|
-
"metadata": {},
|
|
108
|
-
"source": [
|
|
109
|
-
"# Using SQLAlchemy ClasueElements in teradataml DataFrame.assign()"
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"cell_type": "code",
|
|
114
|
-
"execution_count": 4,
|
|
115
|
-
"metadata": {},
|
|
116
|
-
"outputs": [],
|
|
117
|
-
"source": [
|
|
118
|
-
"# Before we move on with examples, one should read below just to understand how teradataml DataFrame and \n",
|
|
119
|
-
"# it's columns are used to create a SQLAlchemy ClauseElement/Expression.\n",
|
|
120
|
-
"\n",
|
|
121
|
-
"# Often in below examples one would see something like this: 'admissions_train.admitted.expression'\n",
|
|
122
|
-
"# Here in the above expression,\n",
|
|
123
|
-
"# 'admissions_train' is 'teradataml DataFrame'\n",
|
|
124
|
-
"# 'admitted' is 'column name' in teradataml DataFrame 'admissions_train'\n",
|
|
125
|
-
"# Thus, \n",
|
|
126
|
-
"# 'admissions_train.admitted' together forms a ColumnExpression.\n",
|
|
127
|
-
"# expression allows us to use teradata ColumnExpression to be treated as SQLAlchemy Expression.\n",
|
|
128
|
-
"# Thus,\n",
|
|
129
|
-
"# 'admissions_train.admitted.expression' gives us an expression that can be used with SQLAlchemy clauseElements."
|
|
130
|
-
]
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"cell_type": "markdown",
|
|
134
|
-
"metadata": {},
|
|
135
|
-
"source": [
|
|
136
|
-
"## Using SQLAlchemy CASE expression"
|
|
137
|
-
]
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"cell_type": "code",
|
|
141
|
-
"execution_count": 5,
|
|
142
|
-
"metadata": {},
|
|
143
|
-
"outputs": [
|
|
144
|
-
{
|
|
145
|
-
"data": {
|
|
146
|
-
"text/plain": [
|
|
147
|
-
"sqlalchemy.sql.elements.Case"
|
|
148
|
-
]
|
|
149
|
-
},
|
|
150
|
-
"execution_count": 5,
|
|
151
|
-
"metadata": {},
|
|
152
|
-
"output_type": "execute_result"
|
|
153
|
-
}
|
|
154
|
-
],
|
|
155
|
-
"source": [
|
|
156
|
-
"# Using SQLAlchemy case expression. \n",
|
|
157
|
-
"# Return 1 for cases where masters value is \"yes\", otherwise return 0.\n",
|
|
158
|
-
"from sqlalchemy import case\n",
|
|
159
|
-
"\n",
|
|
160
|
-
"# Create case object using SQLAlchemy case\n",
|
|
161
|
-
"caseobj = case(\n",
|
|
162
|
-
" \n",
|
|
163
|
-
" (admissions_train.masters.expression == \"yes\", 1)\n",
|
|
164
|
-
" ,\n",
|
|
165
|
-
" else_=0\n",
|
|
166
|
-
")\n",
|
|
167
|
-
"type(caseobj)"
|
|
168
|
-
]
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
"cell_type": "code",
|
|
172
|
-
"execution_count": 6,
|
|
173
|
-
"metadata": {},
|
|
174
|
-
"outputs": [
|
|
175
|
-
{
|
|
176
|
-
"name": "stdout",
|
|
177
|
-
"output_type": "stream",
|
|
178
|
-
"text": [
|
|
179
|
-
"Equivalent SQL: select id AS id, masters AS masters, gpa AS gpa, stats AS stats, programming AS programming, admitted AS admitted, CASE WHEN (masters = 'yes') THEN 1 ELSE 0 END AS masters_num from \"admissions_train\"\n",
|
|
180
|
-
"\n",
|
|
181
|
-
"\n",
|
|
182
|
-
" ************************* DataFrame ********************* \n",
|
|
183
|
-
" masters gpa stats programming admitted masters_num\n",
|
|
184
|
-
"id \n",
|
|
185
|
-
"5 no 3.44 Novice Novice 0 0\n",
|
|
186
|
-
"34 yes 3.85 Advanced Beginner 0 1\n",
|
|
187
|
-
"13 no 4.00 Advanced Novice 1 0\n",
|
|
188
|
-
"40 yes 3.95 Novice Beginner 0 1\n",
|
|
189
|
-
"22 yes 3.46 Novice Beginner 0 1\n",
|
|
190
|
-
"19 yes 1.98 Advanced Advanced 0 1\n",
|
|
191
|
-
"36 no 3.00 Advanced Novice 0 0\n",
|
|
192
|
-
"15 yes 4.00 Advanced Advanced 1 1\n",
|
|
193
|
-
"7 yes 2.33 Novice Novice 1 1\n",
|
|
194
|
-
"17 no 3.83 Advanced Advanced 1 0\n",
|
|
195
|
-
"\n",
|
|
196
|
-
"\n",
|
|
197
|
-
"\n",
|
|
198
|
-
" ************************* DataFrame.dtypes ********************* \n",
|
|
199
|
-
"id int\n",
|
|
200
|
-
"masters str\n",
|
|
201
|
-
"gpa float\n",
|
|
202
|
-
"stats str\n",
|
|
203
|
-
"programming str\n",
|
|
204
|
-
"admitted int\n",
|
|
205
|
-
"masters_num int\n",
|
|
206
|
-
"\n",
|
|
207
|
-
"\n",
|
|
208
|
-
"\n",
|
|
209
|
-
" 'masters_num' Column Type: INTEGER\n"
|
|
210
|
-
]
|
|
211
|
-
}
|
|
212
|
-
],
|
|
213
|
-
"source": [
|
|
214
|
-
"# Use the Case object in assign() to output the results.\n",
|
|
215
|
-
"# Example, here also depicts what SQL query will look like for this execution.\n",
|
|
216
|
-
"df = admissions_train.assign(masters_num=caseobj)\n",
|
|
217
|
-
"print_variables(df, \"masters_num\")"
|
|
218
|
-
]
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
"cell_type": "markdown",
|
|
222
|
-
"metadata": {},
|
|
223
|
-
"source": [
|
|
224
|
-
"## Using SQLAlchemy CAST, Numeric"
|
|
225
|
-
]
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
"cell_type": "code",
|
|
229
|
-
"execution_count": 7,
|
|
230
|
-
"metadata": {},
|
|
231
|
-
"outputs": [
|
|
232
|
-
{
|
|
233
|
-
"data": {
|
|
234
|
-
"text/plain": [
|
|
235
|
-
"sqlalchemy.sql.elements.Cast"
|
|
236
|
-
]
|
|
237
|
-
},
|
|
238
|
-
"execution_count": 7,
|
|
239
|
-
"metadata": {},
|
|
240
|
-
"output_type": "execute_result"
|
|
241
|
-
}
|
|
242
|
-
],
|
|
243
|
-
"source": [
|
|
244
|
-
"# Using SQLAlchemy CAST, Numeric, to CAST admitted column to float value.\n",
|
|
245
|
-
"from sqlalchemy import cast, Numeric\n",
|
|
246
|
-
"admitted_num = cast(admissions_train.admitted.expression, Numeric(10, 4))\n",
|
|
247
|
-
"type(admitted_num)"
|
|
248
|
-
]
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
"cell_type": "code",
|
|
252
|
-
"execution_count": 8,
|
|
253
|
-
"metadata": {},
|
|
254
|
-
"outputs": [
|
|
255
|
-
{
|
|
256
|
-
"name": "stdout",
|
|
257
|
-
"output_type": "stream",
|
|
258
|
-
"text": [
|
|
259
|
-
"Equivalent SQL: select id AS id, masters AS masters, gpa AS gpa, stats AS stats, programming AS programming, admitted AS admitted, CAST(admitted AS NUMERIC(10, 4)) AS casted_admitted from \"admissions_train\"\n",
|
|
260
|
-
"\n",
|
|
261
|
-
"\n",
|
|
262
|
-
" ************************* DataFrame ********************* \n",
|
|
263
|
-
" masters gpa stats programming admitted casted_admitted\n",
|
|
264
|
-
"id \n",
|
|
265
|
-
"15 yes 4.00 Advanced Advanced 1 1.0000\n",
|
|
266
|
-
"7 yes 2.33 Novice Novice 1 1.0000\n",
|
|
267
|
-
"22 yes 3.46 Novice Beginner 0 .0000\n",
|
|
268
|
-
"17 no 3.83 Advanced Advanced 1 1.0000\n",
|
|
269
|
-
"13 no 4.00 Advanced Novice 1 1.0000\n",
|
|
270
|
-
"38 yes 2.65 Advanced Beginner 1 1.0000\n",
|
|
271
|
-
"26 yes 3.57 Advanced Advanced 1 1.0000\n",
|
|
272
|
-
"5 no 3.44 Novice Novice 0 .0000\n",
|
|
273
|
-
"34 yes 3.85 Advanced Beginner 0 .0000\n",
|
|
274
|
-
"40 yes 3.95 Novice Beginner 0 .0000\n",
|
|
275
|
-
"\n",
|
|
276
|
-
"\n",
|
|
277
|
-
"\n",
|
|
278
|
-
" ************************* DataFrame.dtypes ********************* \n",
|
|
279
|
-
"id int\n",
|
|
280
|
-
"masters str\n",
|
|
281
|
-
"gpa float\n",
|
|
282
|
-
"stats str\n",
|
|
283
|
-
"programming str\n",
|
|
284
|
-
"admitted int\n",
|
|
285
|
-
"casted_admitted float\n",
|
|
286
|
-
"\n",
|
|
287
|
-
"\n",
|
|
288
|
-
"\n",
|
|
289
|
-
" 'casted_admitted' Column Type: NUMERIC(10, 4)\n"
|
|
290
|
-
]
|
|
291
|
-
}
|
|
292
|
-
],
|
|
293
|
-
"source": [
|
|
294
|
-
"# Use the Cast object in assign() to output the results.\n",
|
|
295
|
-
"# Example, here also depicts what SQL query will look like for this execution.\n",
|
|
296
|
-
"df = admissions_train.assign(casted_admitted=admitted_num)\n",
|
|
297
|
-
"print_variables(df, \"casted_admitted\")"
|
|
298
|
-
]
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
"cell_type": "markdown",
|
|
302
|
-
"metadata": {},
|
|
303
|
-
"source": [
|
|
304
|
-
"## Using DISTINCT"
|
|
305
|
-
]
|
|
306
|
-
},
|
|
307
|
-
{
|
|
308
|
-
"cell_type": "code",
|
|
309
|
-
"execution_count": 9,
|
|
310
|
-
"metadata": {},
|
|
311
|
-
"outputs": [
|
|
312
|
-
{
|
|
313
|
-
"data": {
|
|
314
|
-
"text/plain": [
|
|
315
|
-
"sqlalchemy.sql.elements.UnaryExpression"
|
|
316
|
-
]
|
|
317
|
-
},
|
|
318
|
-
"execution_count": 9,
|
|
319
|
-
"metadata": {},
|
|
320
|
-
"output_type": "execute_result"
|
|
321
|
-
}
|
|
322
|
-
],
|
|
323
|
-
"source": [
|
|
324
|
-
"# Using DISTINCT on a single column.\n",
|
|
325
|
-
"# Example here shows, how to get the distinct values for a single column.\n",
|
|
326
|
-
"from sqlalchemy import distinct\n",
|
|
327
|
-
"admitted_dist = admissions_train.admitted.expression.distinct()\n",
|
|
328
|
-
"type(admitted_dist)"
|
|
329
|
-
]
|
|
330
|
-
},
|
|
331
|
-
{
|
|
332
|
-
"cell_type": "code",
|
|
333
|
-
"execution_count": 10,
|
|
334
|
-
"metadata": {},
|
|
335
|
-
"outputs": [
|
|
336
|
-
{
|
|
337
|
-
"name": "stdout",
|
|
338
|
-
"output_type": "stream",
|
|
339
|
-
"text": [
|
|
340
|
-
"Equivalent SQL: select DISTINCT admitted AS distinct_admitted from \"admissions_train\"\n",
|
|
341
|
-
"\n",
|
|
342
|
-
"\n",
|
|
343
|
-
" ************************* DataFrame ********************* \n",
|
|
344
|
-
" distinct_admitted\n",
|
|
345
|
-
"0 0\n",
|
|
346
|
-
"1 1\n",
|
|
347
|
-
"\n",
|
|
348
|
-
"\n",
|
|
349
|
-
"\n",
|
|
350
|
-
" ************************* DataFrame.dtypes ********************* \n",
|
|
351
|
-
"distinct_admitted int\n",
|
|
352
|
-
"\n",
|
|
353
|
-
"\n",
|
|
354
|
-
"\n",
|
|
355
|
-
" 'distinct_admitted' Column Type: INTEGER\n"
|
|
356
|
-
]
|
|
357
|
-
}
|
|
358
|
-
],
|
|
359
|
-
"source": [
|
|
360
|
-
"# Use the UnaryExpression for distinct in DataFrame.assign() to get the DISTINCT values for admitted column.\n",
|
|
361
|
-
"# Note: \n",
|
|
362
|
-
"# One must use 'drop_columns=True', so that assign executes without any error.\n",
|
|
363
|
-
"df = admissions_train.assign(drop_columns=True, distinct_admitted=admitted_dist)\n",
|
|
364
|
-
"print_variables(df, \"distinct_admitted\")"
|
|
365
|
-
]
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
"cell_type": "code",
|
|
369
|
-
"execution_count": 11,
|
|
370
|
-
"metadata": {},
|
|
371
|
-
"outputs": [
|
|
372
|
-
{
|
|
373
|
-
"name": "stdout",
|
|
374
|
-
"output_type": "stream",
|
|
375
|
-
"text": [
|
|
376
|
-
"Equivalent SQL: select DISTINCT programming AS distinct_programming from \"admissions_train\"\n",
|
|
377
|
-
"\n",
|
|
378
|
-
"\n",
|
|
379
|
-
" ************************* DataFrame ********************* \n",
|
|
380
|
-
" distinct_programming\n",
|
|
381
|
-
"0 Beginner\n",
|
|
382
|
-
"1 Advanced\n",
|
|
383
|
-
"2 Novice\n",
|
|
384
|
-
"\n",
|
|
385
|
-
"\n",
|
|
386
|
-
"\n",
|
|
387
|
-
" ************************* DataFrame.dtypes ********************* \n",
|
|
388
|
-
"distinct_programming str\n",
|
|
389
|
-
"\n",
|
|
390
|
-
"\n",
|
|
391
|
-
"\n",
|
|
392
|
-
" 'distinct_programming' Column Type: VARCHAR\n"
|
|
393
|
-
]
|
|
394
|
-
}
|
|
395
|
-
],
|
|
396
|
-
"source": [
|
|
397
|
-
"# Another example of using UnaryExpression for distinct in DataFrame.assign() \n",
|
|
398
|
-
"# to get the DISTINCT values for programming column.\n",
|
|
399
|
-
"# Note: \n",
|
|
400
|
-
"# One must use 'drop_columns=True', so that assign executes without any error.\n",
|
|
401
|
-
"df = admissions_train.assign(True, distinct_programming=admissions_train.programming.expression.distinct())\n",
|
|
402
|
-
"print_variables(df, \"distinct_programming\")"
|
|
403
|
-
]
|
|
404
|
-
},
|
|
405
|
-
{
|
|
406
|
-
"cell_type": "code",
|
|
407
|
-
"execution_count": 12,
|
|
408
|
-
"metadata": {},
|
|
409
|
-
"outputs": [
|
|
410
|
-
{
|
|
411
|
-
"name": "stdout",
|
|
412
|
-
"output_type": "stream",
|
|
413
|
-
"text": [
|
|
414
|
-
"Equivalent SQL: select id AS id, masters AS masters, gpa AS gpa, stats AS stats, programming AS programming, admitted AS admitted, DISTINCT programming AS distinct_programming from \"admissions_train\"\n",
|
|
415
|
-
"\n",
|
|
416
|
-
"\n",
|
|
417
|
-
" ************************* DataFrame ********************* \n"
|
|
418
|
-
]
|
|
419
|
-
},
|
|
420
|
-
{
|
|
421
|
-
"ename": "TeradataMlException",
|
|
422
|
-
"evalue": "[Teradata][teradataml](TDML_2102) Failed to execute SQL: '[Version 17.0.0.2] [Session 3058] [Teradata Database] [Error 3706] Syntax error: expected something between ',' and the 'DISTINCT' keyword.\n at gosqldriver/teradatasql.(*teradataConnection).formatDatabaseError TeradataConnection.go:1138\n at gosqldriver/teradatasql.(*teradataConnection).makeChainedDatabaseError TeradataConnection.go:1154\n at gosqldriver/teradatasql.(*teradataConnection).processErrorParcel TeradataConnection.go:1217\n at gosqldriver/teradatasql.(*TeradataRows).processResponseBundle TeradataRows.go:1716\n at gosqldriver/teradatasql.(*TeradataRows).executeSQLRequest TeradataRows.go:552\n at gosqldriver/teradatasql.newTeradataRows TeradataRows.go:418\n at gosqldriver/teradatasql.(*teradataStatement).QueryContext TeradataStatement.go:122\n at gosqldriver/teradatasql.(*teradataConnection).QueryContext TeradataConnection.go:2083\n at database/sql.ctxDriverQuery ctxutil.go:48\n at database/sql.(*DB).queryDC.func1 sql.go:1464\n at database/sql.withLock sql.go:3032\n at database/sql.(*DB).queryDC sql.go:1459\n at database/sql.(*Conn).QueryContext sql.go:1701\n at main.goCreateRows goside.go:652\n at main._cgoexpwrap_212fad278f55_goCreateRows _cgo_gotypes.go:357\n at runtime.call64 asm_amd64.s:574\n at runtime.cgocallbackg1 cgocall.go:316\n at runtime.cgocallbackg cgocall.go:194\n at runtime.cgocallback_gofunc asm_amd64.s:826\n at runtime.goexit asm_amd64.s:2361'",
|
|
423
|
-
"output_type": "error",
|
|
424
|
-
"traceback": [
|
|
425
|
-
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
426
|
-
"\u001b[1;31mOperationalError\u001b[0m Traceback (most recent call last)",
|
|
427
|
-
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\dataframe\\dataframe_utils.py\u001b[0m in \u001b[0;36m_execute_node_return_db_object_name\u001b[1;34m(nodeid, metaexpression)\u001b[0m\n\u001b[0;32m 88\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 89\u001b[1;33m \u001b[0mUtilFuncs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_create_view\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mview_names\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mqueries\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 90\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
428
|
-
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\common\\utils.py\u001b[0m in \u001b[0;36m_create_view\u001b[1;34m(view_name, query)\u001b[0m\n\u001b[0;32m 675\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 676\u001b[1;33m \u001b[0mUtilFuncs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_execute_ddl_statement\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcrt_view\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 677\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
429
|
-
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\common\\utils.py\u001b[0m in \u001b[0;36m_execute_ddl_statement\u001b[1;34m(ddl_statement)\u001b[0m\n\u001b[0;32m 532\u001b[0m \u001b[0mcursor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mconn\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcursor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 533\u001b[1;33m \u001b[0mcursor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mddl_statement\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 534\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
430
|
-
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradatasql\\__init__.py\u001b[0m in \u001b[0;36mexecute\u001b[1;34m(self, sOperation, params, ignoreErrors)\u001b[0m\n\u001b[0;32m 648\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 649\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutemany\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0msOperation\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mignoreErrors\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 650\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
431
|
-
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradatasql\\__init__.py\u001b[0m in \u001b[0;36mexecutemany\u001b[1;34m(self, sOperation, seqOfParams, ignoreErrors)\u001b[0m\n\u001b[0;32m 895\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 896\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mOperationalError\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0msErr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 897\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
432
|
-
"\u001b[1;31mOperationalError\u001b[0m: [Version 17.0.0.2] [Session 3058] [Teradata Database] [Error 3706] Syntax error: expected something between ',' and the 'DISTINCT' keyword.\n at gosqldriver/teradatasql.(*teradataConnection).formatDatabaseError TeradataConnection.go:1138\n at gosqldriver/teradatasql.(*teradataConnection).makeChainedDatabaseError TeradataConnection.go:1154\n at gosqldriver/teradatasql.(*teradataConnection).processErrorParcel TeradataConnection.go:1217\n at gosqldriver/teradatasql.(*TeradataRows).processResponseBundle TeradataRows.go:1716\n at gosqldriver/teradatasql.(*TeradataRows).executeSQLRequest TeradataRows.go:552\n at gosqldriver/teradatasql.newTeradataRows TeradataRows.go:418\n at gosqldriver/teradatasql.(*teradataStatement).QueryContext TeradataStatement.go:122\n at gosqldriver/teradatasql.(*teradataConnection).QueryContext TeradataConnection.go:2083\n at database/sql.ctxDriverQuery ctxutil.go:48\n at database/sql.(*DB).queryDC.func1 sql.go:1464\n at database/sql.withLock sql.go:3032\n at database/sql.(*DB).queryDC sql.go:1459\n at database/sql.(*Conn).QueryContext sql.go:1701\n at main.goCreateRows goside.go:652\n at main._cgoexpwrap_212fad278f55_goCreateRows _cgo_gotypes.go:357\n at runtime.call64 asm_amd64.s:574\n at runtime.cgocallbackg1 cgocall.go:316\n at runtime.cgocallbackg cgocall.go:194\n at runtime.cgocallback_gofunc asm_amd64.s:826\n at runtime.goexit asm_amd64.s:2361",
|
|
433
|
-
"\nDuring handling of the above exception, another exception occurred:\n",
|
|
434
|
-
"\u001b[1;31mTeradataMlException\u001b[0m Traceback (most recent call last)",
|
|
435
|
-
"\u001b[1;32m<ipython-input-12-c0c850313309>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;31m# and SQL does not allow this.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mdf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0madmissions_train\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0massign\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdistinct_programming\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0madmissions_train\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprogramming\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexpression\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdistinct\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mprint_variables\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"distinct_programming\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
436
|
-
"\u001b[1;32m<ipython-input-3-d2288c870869>\u001b[0m in \u001b[0;36mprint_variables\u001b[1;34m(df, columns)\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"\\n\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\" ************************* DataFrame ********************* \"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"\\n\\n\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\" ************************* DataFrame.dtypes ********************* \"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
437
|
-
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\dataframe\\dataframe.py\u001b[0m in \u001b[0;36m__repr__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 4270\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4271\u001b[0m \u001b[1;31m# Generate/Execute AED nodes\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4272\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__execute_node_and_set_table_name\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_nodeid\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_metaexpr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4273\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4274\u001b[0m \u001b[0mquery\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mrepr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_metaexpr\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m' FROM '\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_table_name\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
438
|
-
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\dataframe\\dataframe.py\u001b[0m in \u001b[0;36m__execute_node_and_set_table_name\u001b[1;34m(self, nodeid, metaexpr)\u001b[0m\n\u001b[0;32m 392\u001b[0m \"\"\"\n\u001b[0;32m 393\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_table_name\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 394\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_table_name\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdf_utils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_execute_node_return_db_object_name\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnodeid\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmetaexpr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 395\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 396\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_get_metadata_from_metaexpr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmetaexpr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
439
|
-
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\dataframe\\dataframe_utils.py\u001b[0m in \u001b[0;36m_execute_node_return_db_object_name\u001b[1;34m(nodeid, metaexpression)\u001b[0m\n\u001b[0;32m 98\u001b[0m \u001b[1;31m# node execution failed.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 99\u001b[0m raise TeradataMlException(Messages.get_message(MessageCodes.TDMLDF_EXEC_SQL_FAILED, str(emsg)),\n\u001b[1;32m--> 100\u001b[1;33m MessageCodes.TDMLDF_EXEC_SQL_FAILED)\n\u001b[0m\u001b[0;32m 101\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 102\u001b[0m \u001b[1;31m# Setting New Table name retrieved to TDML DF\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
440
|
-
"\u001b[1;31mTeradataMlException\u001b[0m: [Teradata][teradataml](TDML_2102) Failed to execute SQL: '[Version 17.0.0.2] [Session 3058] [Teradata Database] [Error 3706] Syntax error: expected something between ',' and the 'DISTINCT' keyword.\n at gosqldriver/teradatasql.(*teradataConnection).formatDatabaseError TeradataConnection.go:1138\n at gosqldriver/teradatasql.(*teradataConnection).makeChainedDatabaseError TeradataConnection.go:1154\n at gosqldriver/teradatasql.(*teradataConnection).processErrorParcel TeradataConnection.go:1217\n at gosqldriver/teradatasql.(*TeradataRows).processResponseBundle TeradataRows.go:1716\n at gosqldriver/teradatasql.(*TeradataRows).executeSQLRequest TeradataRows.go:552\n at gosqldriver/teradatasql.newTeradataRows TeradataRows.go:418\n at gosqldriver/teradatasql.(*teradataStatement).QueryContext TeradataStatement.go:122\n at gosqldriver/teradatasql.(*teradataConnection).QueryContext TeradataConnection.go:2083\n at database/sql.ctxDriverQuery ctxutil.go:48\n at database/sql.(*DB).queryDC.func1 sql.go:1464\n at database/sql.withLock sql.go:3032\n at database/sql.(*DB).queryDC sql.go:1459\n at database/sql.(*Conn).QueryContext sql.go:1701\n at main.goCreateRows goside.go:652\n at main._cgoexpwrap_212fad278f55_goCreateRows _cgo_gotypes.go:357\n at runtime.call64 asm_amd64.s:574\n at runtime.cgocallbackg1 cgocall.go:316\n at runtime.cgocallbackg cgocall.go:194\n at runtime.cgocallback_gofunc asm_amd64.s:826\n at runtime.goexit asm_amd64.s:2361'"
|
|
441
|
-
]
|
|
442
|
-
}
|
|
443
|
-
],
|
|
444
|
-
"source": [
|
|
445
|
-
"# Example, where if drop_columns = False in DataFrame.assign() and we use DISTINCT with it.\n",
|
|
446
|
-
"# Cannot use DISTINCT with drop_columns argument is assign set to False.\n",
|
|
447
|
-
"# Query generted will be SELECT col1, col2, DISTINCT col3 .. FROM table of this form and is of incorrect Syntax \n",
|
|
448
|
-
"# and SQL does not allow this.\n",
|
|
449
|
-
"df = admissions_train.assign(distinct_programming=admissions_train.programming.expression.distinct())\n",
|
|
450
|
-
"print_variables(df, \"distinct_programming\")"
|
|
451
|
-
]
|
|
452
|
-
},
|
|
453
|
-
{
|
|
454
|
-
"cell_type": "markdown",
|
|
455
|
-
"metadata": {},
|
|
456
|
-
"source": [
|
|
457
|
-
"## SQLAlchemy EXTRACT expression"
|
|
458
|
-
]
|
|
459
|
-
},
|
|
460
|
-
{
|
|
461
|
-
"cell_type": "code",
|
|
462
|
-
"execution_count": 13,
|
|
463
|
-
"metadata": {},
|
|
464
|
-
"outputs": [
|
|
465
|
-
{
|
|
466
|
-
"name": "stdout",
|
|
467
|
-
"output_type": "stream",
|
|
468
|
-
"text": [
|
|
469
|
-
"WARNING: Skipped loading table ville_climatedata since it already exists in the database.\n"
|
|
470
|
-
]
|
|
471
|
-
},
|
|
472
|
-
{
|
|
473
|
-
"data": {
|
|
474
|
-
"text/plain": [
|
|
475
|
-
"['city', 'period', 'temp_f', 'pressure_mbar', 'dewpoint_f']"
|
|
476
|
-
]
|
|
477
|
-
},
|
|
478
|
-
"execution_count": 13,
|
|
479
|
-
"metadata": {},
|
|
480
|
-
"output_type": "execute_result"
|
|
481
|
-
}
|
|
482
|
-
],
|
|
483
|
-
"source": [
|
|
484
|
-
"from sqlalchemy import extract\n",
|
|
485
|
-
"load_example_data(\"dwt\", \"ville_climatedata\")\n",
|
|
486
|
-
"ville_climatedata = DataFrame(\"ville_climatedata\")\n",
|
|
487
|
-
"ville_climatedata.columns"
|
|
488
|
-
]
|
|
489
|
-
},
|
|
490
|
-
{
|
|
491
|
-
"cell_type": "code",
|
|
492
|
-
"execution_count": 14,
|
|
493
|
-
"metadata": {},
|
|
494
|
-
"outputs": [
|
|
495
|
-
{
|
|
496
|
-
"data": {
|
|
497
|
-
"text/plain": [
|
|
498
|
-
" period temp_f pressure_mbar dewpoint_f\n",
|
|
499
|
-
"city \n",
|
|
500
|
-
"greenville 20100101 02:00 33.9 1020.1 28.4\n",
|
|
501
|
-
"greenville 20100101 04:00 33.1 1020.2 28.0\n",
|
|
502
|
-
"greenville 20100101 05:00 32.7 1020.0 27.9\n",
|
|
503
|
-
"greenville 20100101 06:00 32.5 1020.4 27.7\n",
|
|
504
|
-
"greenville 20100101 08:00 32.1 1021.3 27.5\n",
|
|
505
|
-
"greenville 20100101 09:00 33.8 1021.7 28.3\n",
|
|
506
|
-
"greenville 20100101 07:00 32.3 1020.8 27.6\n",
|
|
507
|
-
"greenville 20100101 03:00 33.5 1020.2 28.3\n",
|
|
508
|
-
"greenville 20100101 01:00 34.4 1020.2 28.7\n",
|
|
509
|
-
"greenville 20100101 00:00 34.9 1020.6 28.8"
|
|
510
|
-
]
|
|
511
|
-
},
|
|
512
|
-
"execution_count": 14,
|
|
513
|
-
"metadata": {},
|
|
514
|
-
"output_type": "execute_result"
|
|
515
|
-
}
|
|
516
|
-
],
|
|
517
|
-
"source": [
|
|
518
|
-
"ville_climatedata"
|
|
519
|
-
]
|
|
520
|
-
},
|
|
521
|
-
{
|
|
522
|
-
"cell_type": "code",
|
|
523
|
-
"execution_count": 15,
|
|
524
|
-
"metadata": {},
|
|
525
|
-
"outputs": [
|
|
526
|
-
{
|
|
527
|
-
"data": {
|
|
528
|
-
"text/plain": [
|
|
529
|
-
"sqlalchemy.sql.elements.Extract"
|
|
530
|
-
]
|
|
531
|
-
},
|
|
532
|
-
"execution_count": 15,
|
|
533
|
-
"metadata": {},
|
|
534
|
-
"output_type": "execute_result"
|
|
535
|
-
}
|
|
536
|
-
],
|
|
537
|
-
"source": [
|
|
538
|
-
"# Extract HOURS values from timestamp in period column\n",
|
|
539
|
-
"extobj = extract('hour', ville_climatedata.period.expression)\n",
|
|
540
|
-
"type(extobj)"
|
|
541
|
-
]
|
|
542
|
-
},
|
|
543
|
-
{
|
|
544
|
-
"cell_type": "code",
|
|
545
|
-
"execution_count": 16,
|
|
546
|
-
"metadata": {},
|
|
547
|
-
"outputs": [
|
|
548
|
-
{
|
|
549
|
-
"name": "stdout",
|
|
550
|
-
"output_type": "stream",
|
|
551
|
-
"text": [
|
|
552
|
-
"Equivalent SQL: select city AS city, period AS period, temp_f AS temp_f, pressure_mbar AS pressure_mbar, dewpoint_f AS dewpoint_f, EXTRACT(hour FROM period) AS sqlalchemy_hours from \"ville_climatedata\"\n",
|
|
553
|
-
"\n",
|
|
554
|
-
"\n",
|
|
555
|
-
" ************************* DataFrame ********************* \n",
|
|
556
|
-
" period temp_f pressure_mbar dewpoint_f sqlalchemy_hours\n",
|
|
557
|
-
"city \n",
|
|
558
|
-
"knoxville 20100101 02:00 33.7 1019.9 28.1 2\n",
|
|
559
|
-
"knoxville 20100101 04:00 32.8 1020.0 27.7 4\n",
|
|
560
|
-
"knoxville 20100101 05:00 32.4 1019.9 27.5 5\n",
|
|
561
|
-
"knoxville 20100101 06:00 32.2 1020.2 27.4 6\n",
|
|
562
|
-
"knoxville 20100101 08:00 31.8 1021.1 27.2 8\n",
|
|
563
|
-
"knoxville 20100101 09:00 33.5 1021.5 28.0 9\n",
|
|
564
|
-
"knoxville 20100101 07:00 32.0 1020.6 27.3 7\n",
|
|
565
|
-
"knoxville 20100101 03:00 33.2 1020.0 27.9 3\n",
|
|
566
|
-
"knoxville 20100101 01:00 34.2 1020.0 28.4 1\n",
|
|
567
|
-
"knoxville 20100101 00:00 34.8 1020.4 28.7 0\n",
|
|
568
|
-
"\n",
|
|
569
|
-
"\n",
|
|
570
|
-
"\n",
|
|
571
|
-
" ************************* DataFrame.dtypes ********************* \n",
|
|
572
|
-
"city str\n",
|
|
573
|
-
"period datetime.datetime\n",
|
|
574
|
-
"temp_f float\n",
|
|
575
|
-
"pressure_mbar float\n",
|
|
576
|
-
"dewpoint_f float\n",
|
|
577
|
-
"sqlalchemy_hours int\n",
|
|
578
|
-
"\n",
|
|
579
|
-
"\n",
|
|
580
|
-
"\n",
|
|
581
|
-
" 'sqlalchemy_hours' Column Type: INTEGER\n"
|
|
582
|
-
]
|
|
583
|
-
}
|
|
584
|
-
],
|
|
585
|
-
"source": [
|
|
586
|
-
"df = ville_climatedata.assign(sqlalchemy_hours=extobj)\n",
|
|
587
|
-
"print_variables(df, \"sqlalchemy_hours\")"
|
|
588
|
-
]
|
|
589
|
-
},
|
|
590
|
-
{
|
|
591
|
-
"cell_type": "markdown",
|
|
592
|
-
"metadata": {},
|
|
593
|
-
"source": [
|
|
594
|
-
"## Using aggregate functions using SQLAlchemy"
|
|
595
|
-
]
|
|
596
|
-
},
|
|
597
|
-
{
|
|
598
|
-
"cell_type": "code",
|
|
599
|
-
"execution_count": 17,
|
|
600
|
-
"metadata": {},
|
|
601
|
-
"outputs": [
|
|
602
|
-
{
|
|
603
|
-
"name": "stdout",
|
|
604
|
-
"output_type": "stream",
|
|
605
|
-
"text": [
|
|
606
|
-
"Equivalent SQL: select count(*) AS sqlalchemy_hours from \"ville_climatedata\"\n",
|
|
607
|
-
"\n",
|
|
608
|
-
"\n",
|
|
609
|
-
" ************************* DataFrame ********************* \n",
|
|
610
|
-
" sqlalchemy_hours\n",
|
|
611
|
-
"0 120\n",
|
|
612
|
-
"\n",
|
|
613
|
-
"\n",
|
|
614
|
-
"\n",
|
|
615
|
-
" ************************* DataFrame.dtypes ********************* \n",
|
|
616
|
-
"sqlalchemy_hours int\n",
|
|
617
|
-
"\n",
|
|
618
|
-
"\n",
|
|
619
|
-
"\n",
|
|
620
|
-
" 'sqlalchemy_hours' Column Type: INTEGER\n"
|
|
621
|
-
]
|
|
622
|
-
}
|
|
623
|
-
],
|
|
624
|
-
"source": [
|
|
625
|
-
"# Get the count of rows using func.count() in DataFrame.assign().\n",
|
|
626
|
-
"# Note: \n",
|
|
627
|
-
"# 1. One must use 'drop_columns=True', so that assign executes without any error.\n",
|
|
628
|
-
"# 2. Using groupby() before assign will not have any effec. No grouping is performed.\n",
|
|
629
|
-
"from sqlalchemy import func\n",
|
|
630
|
-
"df = ville_climatedata.assign(True, sqlalchemy_hours=func.count())\n",
|
|
631
|
-
"print_variables(df, \"sqlalchemy_hours\")"
|
|
632
|
-
]
|
|
633
|
-
},
|
|
634
|
-
{
|
|
635
|
-
"cell_type": "code",
|
|
636
|
-
"execution_count": 18,
|
|
637
|
-
"metadata": {},
|
|
638
|
-
"outputs": [
|
|
639
|
-
{
|
|
640
|
-
"data": {
|
|
641
|
-
"text/plain": [
|
|
642
|
-
"True"
|
|
643
|
-
]
|
|
644
|
-
},
|
|
645
|
-
"execution_count": 18,
|
|
646
|
-
"metadata": {},
|
|
647
|
-
"output_type": "execute_result"
|
|
648
|
-
}
|
|
649
|
-
],
|
|
650
|
-
"source": [
|
|
651
|
-
"# One must run remove_context() to close the connection and garbage collect internally generated objects.\n",
|
|
652
|
-
"remove_context()"
|
|
653
|
-
]
|
|
654
|
-
},
|
|
655
|
-
{
|
|
656
|
-
"cell_type": "code",
|
|
657
|
-
"execution_count": null,
|
|
658
|
-
"metadata": {},
|
|
659
|
-
"outputs": [],
|
|
660
|
-
"source": []
|
|
661
|
-
},
|
|
662
|
-
{
|
|
663
|
-
"cell_type": "code",
|
|
664
|
-
"execution_count": null,
|
|
665
|
-
"metadata": {},
|
|
666
|
-
"outputs": [],
|
|
667
|
-
"source": []
|
|
668
|
-
},
|
|
669
|
-
{
|
|
670
|
-
"cell_type": "code",
|
|
671
|
-
"execution_count": null,
|
|
672
|
-
"metadata": {},
|
|
673
|
-
"outputs": [],
|
|
674
|
-
"source": []
|
|
675
|
-
}
|
|
676
|
-
],
|
|
677
|
-
"metadata": {
|
|
678
|
-
"kernelspec": {
|
|
679
|
-
"display_name": "Python 3 (ipykernel)",
|
|
680
|
-
"language": "python",
|
|
681
|
-
"name": "python3"
|
|
682
|
-
},
|
|
683
|
-
"language_info": {
|
|
684
|
-
"codemirror_mode": {
|
|
685
|
-
"name": "ipython",
|
|
686
|
-
"version": 3
|
|
687
|
-
},
|
|
688
|
-
"file_extension": ".py",
|
|
689
|
-
"mimetype": "text/x-python",
|
|
690
|
-
"name": "python",
|
|
691
|
-
"nbconvert_exporter": "python",
|
|
692
|
-
"pygments_lexer": "ipython3",
|
|
693
|
-
"version": "3.9.16"
|
|
694
|
-
}
|
|
695
|
-
},
|
|
696
|
-
"nbformat": 4,
|
|
697
|
-
"nbformat_minor": 2
|
|
698
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"metadata": {},
|
|
6
|
+
"source": [
|
|
7
|
+
"### Disclaimer\n",
|
|
8
|
+
"Please note, the Vantage Functions via SQLAlchemy feature is a preview/beta code release with limited functionality (the “Code”). As such, you acknowledge that the Code is experimental in nature and that the Code is provided “AS IS” and may not be functional on any machine or in any environment. TERADATA DISCLAIMS ALL WARRANTIES RELATING TO THE CODE, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES AGAINST INFRINGEMENT OF THIRD-PARTY RIGHTS, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n",
|
|
9
|
+
"\n",
|
|
10
|
+
"TERADATA SHALL NOT BE RESPONSIBLE OR LIABLE WITH RESPECT TO ANY SUBJECT MATTER OF THE CODE UNDER ANY CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHER THEORY \n",
|
|
11
|
+
" (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, OR \n",
|
|
12
|
+
" (B) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO LOSS OF REVENUES AND LOSS OF PROFITS. TERADATA SHALL NOT BE RESPONSIBLE FOR ANY MATTER BEYOND ITS REASONABLE CONTROL.\n",
|
|
13
|
+
"\n",
|
|
14
|
+
"Notwithstanding anything to the contrary: \n",
|
|
15
|
+
" (a) Teradata will have no obligation of any kind with respect to any Code-related comments, suggestions, design changes or improvements that you elect to provide to Teradata in either verbal or written form (collectively, “Feedback”), and \n",
|
|
16
|
+
" (b) Teradata and its affiliates are hereby free to use any ideas, concepts, know-how or techniques, in whole or in part, contained in Feedback: \n",
|
|
17
|
+
" (i) for any purpose whatsoever, including developing, manufacturing, and/or marketing products and/or services incorporating Feedback in whole or in part, and \n",
|
|
18
|
+
" (ii) without any restrictions or limitations, including requiring the payment of any license fees, royalties, or other consideration. "
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"cell_type": "code",
|
|
23
|
+
"execution_count": 1,
|
|
24
|
+
"metadata": {},
|
|
25
|
+
"outputs": [
|
|
26
|
+
{
|
|
27
|
+
"name": "stdout",
|
|
28
|
+
"output_type": "stream",
|
|
29
|
+
"text": [
|
|
30
|
+
"Hostname: ········\n",
|
|
31
|
+
"Username: ········\n",
|
|
32
|
+
"Password: ········\n",
|
|
33
|
+
"WARNING: Skipped loading table admissions_train since it already exists in the database.\n"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"source": [
|
|
38
|
+
"# Get the connection to the Vantage using create_context()\n",
|
|
39
|
+
"from teradataml import *\n",
|
|
40
|
+
"import getpass\n",
|
|
41
|
+
"td_context = create_context(host=getpass.getpass(\"Hostname: \"), username=getpass.getpass(\"Username: \"), password=getpass.getpass(\"Password: \"))\n",
|
|
42
|
+
"\n",
|
|
43
|
+
"# Load the example dataset.\n",
|
|
44
|
+
"load_example_data(\"GLM\", [\"admissions_train\"])"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"cell_type": "code",
|
|
49
|
+
"execution_count": 2,
|
|
50
|
+
"metadata": {},
|
|
51
|
+
"outputs": [
|
|
52
|
+
{
|
|
53
|
+
"data": {
|
|
54
|
+
"text/plain": [
|
|
55
|
+
" masters gpa stats programming admitted\n",
|
|
56
|
+
"id \n",
|
|
57
|
+
"15 yes 4.00 Advanced Advanced 1\n",
|
|
58
|
+
"7 yes 2.33 Novice Novice 1\n",
|
|
59
|
+
"22 yes 3.46 Novice Beginner 0\n",
|
|
60
|
+
"17 no 3.83 Advanced Advanced 1\n",
|
|
61
|
+
"13 no 4.00 Advanced Novice 1\n",
|
|
62
|
+
"38 yes 2.65 Advanced Beginner 1\n",
|
|
63
|
+
"26 yes 3.57 Advanced Advanced 1\n",
|
|
64
|
+
"5 no 3.44 Novice Novice 0\n",
|
|
65
|
+
"34 yes 3.85 Advanced Beginner 0\n",
|
|
66
|
+
"40 yes 3.95 Novice Beginner 0"
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"execution_count": 2,
|
|
70
|
+
"metadata": {},
|
|
71
|
+
"output_type": "execute_result"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"source": [
|
|
75
|
+
"# Create the DataFrame on 'admissions_train' table\n",
|
|
76
|
+
"admissions_train = DataFrame(\"admissions_train\")\n",
|
|
77
|
+
"admissions_train"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"cell_type": "code",
|
|
82
|
+
"execution_count": 3,
|
|
83
|
+
"metadata": {},
|
|
84
|
+
"outputs": [],
|
|
85
|
+
"source": [
|
|
86
|
+
"# Helper function to print some details of dataframe.\n",
|
|
87
|
+
"def print_variables(df, columns):\n",
|
|
88
|
+
" print(\"Equivalent SQL: {}\".format(df.show_query()))\n",
|
|
89
|
+
" print(\"\\n\")\n",
|
|
90
|
+
" print(\" ************************* DataFrame ********************* \")\n",
|
|
91
|
+
" print(df)\n",
|
|
92
|
+
" print(\"\\n\\n\")\n",
|
|
93
|
+
" print(\" ************************* DataFrame.dtypes ********************* \")\n",
|
|
94
|
+
" print(df.dtypes)\n",
|
|
95
|
+
" print(\"\\n\\n\")\n",
|
|
96
|
+
" if isinstance(columns, str):\n",
|
|
97
|
+
" columns = [columns]\n",
|
|
98
|
+
" for col in columns:\n",
|
|
99
|
+
" coltype = df.__getattr__(col).type\n",
|
|
100
|
+
" if isinstance(coltype, sqlalchemy.sql.sqltypes.NullType):\n",
|
|
101
|
+
" coltype = \"NullType\"\n",
|
|
102
|
+
" print(\" '{}' Column Type: {}\".format(col, coltype))"
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"cell_type": "markdown",
|
|
107
|
+
"metadata": {},
|
|
108
|
+
"source": [
|
|
109
|
+
"# Using SQLAlchemy ClasueElements in teradataml DataFrame.assign()"
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"cell_type": "code",
|
|
114
|
+
"execution_count": 4,
|
|
115
|
+
"metadata": {},
|
|
116
|
+
"outputs": [],
|
|
117
|
+
"source": [
|
|
118
|
+
"# Before we move on with examples, one should read below just to understand how teradataml DataFrame and \n",
|
|
119
|
+
"# it's columns are used to create a SQLAlchemy ClauseElement/Expression.\n",
|
|
120
|
+
"\n",
|
|
121
|
+
"# Often in below examples one would see something like this: 'admissions_train.admitted.expression'\n",
|
|
122
|
+
"# Here in the above expression,\n",
|
|
123
|
+
"# 'admissions_train' is 'teradataml DataFrame'\n",
|
|
124
|
+
"# 'admitted' is 'column name' in teradataml DataFrame 'admissions_train'\n",
|
|
125
|
+
"# Thus, \n",
|
|
126
|
+
"# 'admissions_train.admitted' together forms a ColumnExpression.\n",
|
|
127
|
+
"# expression allows us to use teradata ColumnExpression to be treated as SQLAlchemy Expression.\n",
|
|
128
|
+
"# Thus,\n",
|
|
129
|
+
"# 'admissions_train.admitted.expression' gives us an expression that can be used with SQLAlchemy clauseElements."
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"cell_type": "markdown",
|
|
134
|
+
"metadata": {},
|
|
135
|
+
"source": [
|
|
136
|
+
"## Using SQLAlchemy CASE expression"
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"cell_type": "code",
|
|
141
|
+
"execution_count": 5,
|
|
142
|
+
"metadata": {},
|
|
143
|
+
"outputs": [
|
|
144
|
+
{
|
|
145
|
+
"data": {
|
|
146
|
+
"text/plain": [
|
|
147
|
+
"sqlalchemy.sql.elements.Case"
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"execution_count": 5,
|
|
151
|
+
"metadata": {},
|
|
152
|
+
"output_type": "execute_result"
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"source": [
|
|
156
|
+
"# Using SQLAlchemy case expression. \n",
|
|
157
|
+
"# Return 1 for cases where masters value is \"yes\", otherwise return 0.\n",
|
|
158
|
+
"from sqlalchemy import case\n",
|
|
159
|
+
"\n",
|
|
160
|
+
"# Create case object using SQLAlchemy case\n",
|
|
161
|
+
"caseobj = case(\n",
|
|
162
|
+
" \n",
|
|
163
|
+
" (admissions_train.masters.expression == \"yes\", 1)\n",
|
|
164
|
+
" ,\n",
|
|
165
|
+
" else_=0\n",
|
|
166
|
+
")\n",
|
|
167
|
+
"type(caseobj)"
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"cell_type": "code",
|
|
172
|
+
"execution_count": 6,
|
|
173
|
+
"metadata": {},
|
|
174
|
+
"outputs": [
|
|
175
|
+
{
|
|
176
|
+
"name": "stdout",
|
|
177
|
+
"output_type": "stream",
|
|
178
|
+
"text": [
|
|
179
|
+
"Equivalent SQL: select id AS id, masters AS masters, gpa AS gpa, stats AS stats, programming AS programming, admitted AS admitted, CASE WHEN (masters = 'yes') THEN 1 ELSE 0 END AS masters_num from \"admissions_train\"\n",
|
|
180
|
+
"\n",
|
|
181
|
+
"\n",
|
|
182
|
+
" ************************* DataFrame ********************* \n",
|
|
183
|
+
" masters gpa stats programming admitted masters_num\n",
|
|
184
|
+
"id \n",
|
|
185
|
+
"5 no 3.44 Novice Novice 0 0\n",
|
|
186
|
+
"34 yes 3.85 Advanced Beginner 0 1\n",
|
|
187
|
+
"13 no 4.00 Advanced Novice 1 0\n",
|
|
188
|
+
"40 yes 3.95 Novice Beginner 0 1\n",
|
|
189
|
+
"22 yes 3.46 Novice Beginner 0 1\n",
|
|
190
|
+
"19 yes 1.98 Advanced Advanced 0 1\n",
|
|
191
|
+
"36 no 3.00 Advanced Novice 0 0\n",
|
|
192
|
+
"15 yes 4.00 Advanced Advanced 1 1\n",
|
|
193
|
+
"7 yes 2.33 Novice Novice 1 1\n",
|
|
194
|
+
"17 no 3.83 Advanced Advanced 1 0\n",
|
|
195
|
+
"\n",
|
|
196
|
+
"\n",
|
|
197
|
+
"\n",
|
|
198
|
+
" ************************* DataFrame.dtypes ********************* \n",
|
|
199
|
+
"id int\n",
|
|
200
|
+
"masters str\n",
|
|
201
|
+
"gpa float\n",
|
|
202
|
+
"stats str\n",
|
|
203
|
+
"programming str\n",
|
|
204
|
+
"admitted int\n",
|
|
205
|
+
"masters_num int\n",
|
|
206
|
+
"\n",
|
|
207
|
+
"\n",
|
|
208
|
+
"\n",
|
|
209
|
+
" 'masters_num' Column Type: INTEGER\n"
|
|
210
|
+
]
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"source": [
|
|
214
|
+
"# Use the Case object in assign() to output the results.\n",
|
|
215
|
+
"# Example, here also depicts what SQL query will look like for this execution.\n",
|
|
216
|
+
"df = admissions_train.assign(masters_num=caseobj)\n",
|
|
217
|
+
"print_variables(df, \"masters_num\")"
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"cell_type": "markdown",
|
|
222
|
+
"metadata": {},
|
|
223
|
+
"source": [
|
|
224
|
+
"## Using SQLAlchemy CAST, Numeric"
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"cell_type": "code",
|
|
229
|
+
"execution_count": 7,
|
|
230
|
+
"metadata": {},
|
|
231
|
+
"outputs": [
|
|
232
|
+
{
|
|
233
|
+
"data": {
|
|
234
|
+
"text/plain": [
|
|
235
|
+
"sqlalchemy.sql.elements.Cast"
|
|
236
|
+
]
|
|
237
|
+
},
|
|
238
|
+
"execution_count": 7,
|
|
239
|
+
"metadata": {},
|
|
240
|
+
"output_type": "execute_result"
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
"source": [
|
|
244
|
+
"# Using SQLAlchemy CAST, Numeric, to CAST admitted column to float value.\n",
|
|
245
|
+
"from sqlalchemy import cast, Numeric\n",
|
|
246
|
+
"admitted_num = cast(admissions_train.admitted.expression, Numeric(10, 4))\n",
|
|
247
|
+
"type(admitted_num)"
|
|
248
|
+
]
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"cell_type": "code",
|
|
252
|
+
"execution_count": 8,
|
|
253
|
+
"metadata": {},
|
|
254
|
+
"outputs": [
|
|
255
|
+
{
|
|
256
|
+
"name": "stdout",
|
|
257
|
+
"output_type": "stream",
|
|
258
|
+
"text": [
|
|
259
|
+
"Equivalent SQL: select id AS id, masters AS masters, gpa AS gpa, stats AS stats, programming AS programming, admitted AS admitted, CAST(admitted AS NUMERIC(10, 4)) AS casted_admitted from \"admissions_train\"\n",
|
|
260
|
+
"\n",
|
|
261
|
+
"\n",
|
|
262
|
+
" ************************* DataFrame ********************* \n",
|
|
263
|
+
" masters gpa stats programming admitted casted_admitted\n",
|
|
264
|
+
"id \n",
|
|
265
|
+
"15 yes 4.00 Advanced Advanced 1 1.0000\n",
|
|
266
|
+
"7 yes 2.33 Novice Novice 1 1.0000\n",
|
|
267
|
+
"22 yes 3.46 Novice Beginner 0 .0000\n",
|
|
268
|
+
"17 no 3.83 Advanced Advanced 1 1.0000\n",
|
|
269
|
+
"13 no 4.00 Advanced Novice 1 1.0000\n",
|
|
270
|
+
"38 yes 2.65 Advanced Beginner 1 1.0000\n",
|
|
271
|
+
"26 yes 3.57 Advanced Advanced 1 1.0000\n",
|
|
272
|
+
"5 no 3.44 Novice Novice 0 .0000\n",
|
|
273
|
+
"34 yes 3.85 Advanced Beginner 0 .0000\n",
|
|
274
|
+
"40 yes 3.95 Novice Beginner 0 .0000\n",
|
|
275
|
+
"\n",
|
|
276
|
+
"\n",
|
|
277
|
+
"\n",
|
|
278
|
+
" ************************* DataFrame.dtypes ********************* \n",
|
|
279
|
+
"id int\n",
|
|
280
|
+
"masters str\n",
|
|
281
|
+
"gpa float\n",
|
|
282
|
+
"stats str\n",
|
|
283
|
+
"programming str\n",
|
|
284
|
+
"admitted int\n",
|
|
285
|
+
"casted_admitted float\n",
|
|
286
|
+
"\n",
|
|
287
|
+
"\n",
|
|
288
|
+
"\n",
|
|
289
|
+
" 'casted_admitted' Column Type: NUMERIC(10, 4)\n"
|
|
290
|
+
]
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"source": [
|
|
294
|
+
"# Use the Cast object in assign() to output the results.\n",
|
|
295
|
+
"# Example, here also depicts what SQL query will look like for this execution.\n",
|
|
296
|
+
"df = admissions_train.assign(casted_admitted=admitted_num)\n",
|
|
297
|
+
"print_variables(df, \"casted_admitted\")"
|
|
298
|
+
]
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"cell_type": "markdown",
|
|
302
|
+
"metadata": {},
|
|
303
|
+
"source": [
|
|
304
|
+
"## Using DISTINCT"
|
|
305
|
+
]
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"cell_type": "code",
|
|
309
|
+
"execution_count": 9,
|
|
310
|
+
"metadata": {},
|
|
311
|
+
"outputs": [
|
|
312
|
+
{
|
|
313
|
+
"data": {
|
|
314
|
+
"text/plain": [
|
|
315
|
+
"sqlalchemy.sql.elements.UnaryExpression"
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
"execution_count": 9,
|
|
319
|
+
"metadata": {},
|
|
320
|
+
"output_type": "execute_result"
|
|
321
|
+
}
|
|
322
|
+
],
|
|
323
|
+
"source": [
|
|
324
|
+
"# Using DISTINCT on a single column.\n",
|
|
325
|
+
"# Example here shows, how to get the distinct values for a single column.\n",
|
|
326
|
+
"from sqlalchemy import distinct\n",
|
|
327
|
+
"admitted_dist = admissions_train.admitted.expression.distinct()\n",
|
|
328
|
+
"type(admitted_dist)"
|
|
329
|
+
]
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"cell_type": "code",
|
|
333
|
+
"execution_count": 10,
|
|
334
|
+
"metadata": {},
|
|
335
|
+
"outputs": [
|
|
336
|
+
{
|
|
337
|
+
"name": "stdout",
|
|
338
|
+
"output_type": "stream",
|
|
339
|
+
"text": [
|
|
340
|
+
"Equivalent SQL: select DISTINCT admitted AS distinct_admitted from \"admissions_train\"\n",
|
|
341
|
+
"\n",
|
|
342
|
+
"\n",
|
|
343
|
+
" ************************* DataFrame ********************* \n",
|
|
344
|
+
" distinct_admitted\n",
|
|
345
|
+
"0 0\n",
|
|
346
|
+
"1 1\n",
|
|
347
|
+
"\n",
|
|
348
|
+
"\n",
|
|
349
|
+
"\n",
|
|
350
|
+
" ************************* DataFrame.dtypes ********************* \n",
|
|
351
|
+
"distinct_admitted int\n",
|
|
352
|
+
"\n",
|
|
353
|
+
"\n",
|
|
354
|
+
"\n",
|
|
355
|
+
" 'distinct_admitted' Column Type: INTEGER\n"
|
|
356
|
+
]
|
|
357
|
+
}
|
|
358
|
+
],
|
|
359
|
+
"source": [
|
|
360
|
+
"# Use the UnaryExpression for distinct in DataFrame.assign() to get the DISTINCT values for admitted column.\n",
|
|
361
|
+
"# Note: \n",
|
|
362
|
+
"# One must use 'drop_columns=True', so that assign executes without any error.\n",
|
|
363
|
+
"df = admissions_train.assign(drop_columns=True, distinct_admitted=admitted_dist)\n",
|
|
364
|
+
"print_variables(df, \"distinct_admitted\")"
|
|
365
|
+
]
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"cell_type": "code",
|
|
369
|
+
"execution_count": 11,
|
|
370
|
+
"metadata": {},
|
|
371
|
+
"outputs": [
|
|
372
|
+
{
|
|
373
|
+
"name": "stdout",
|
|
374
|
+
"output_type": "stream",
|
|
375
|
+
"text": [
|
|
376
|
+
"Equivalent SQL: select DISTINCT programming AS distinct_programming from \"admissions_train\"\n",
|
|
377
|
+
"\n",
|
|
378
|
+
"\n",
|
|
379
|
+
" ************************* DataFrame ********************* \n",
|
|
380
|
+
" distinct_programming\n",
|
|
381
|
+
"0 Beginner\n",
|
|
382
|
+
"1 Advanced\n",
|
|
383
|
+
"2 Novice\n",
|
|
384
|
+
"\n",
|
|
385
|
+
"\n",
|
|
386
|
+
"\n",
|
|
387
|
+
" ************************* DataFrame.dtypes ********************* \n",
|
|
388
|
+
"distinct_programming str\n",
|
|
389
|
+
"\n",
|
|
390
|
+
"\n",
|
|
391
|
+
"\n",
|
|
392
|
+
" 'distinct_programming' Column Type: VARCHAR\n"
|
|
393
|
+
]
|
|
394
|
+
}
|
|
395
|
+
],
|
|
396
|
+
"source": [
|
|
397
|
+
"# Another example of using UnaryExpression for distinct in DataFrame.assign() \n",
|
|
398
|
+
"# to get the DISTINCT values for programming column.\n",
|
|
399
|
+
"# Note: \n",
|
|
400
|
+
"# One must use 'drop_columns=True', so that assign executes without any error.\n",
|
|
401
|
+
"df = admissions_train.assign(True, distinct_programming=admissions_train.programming.expression.distinct())\n",
|
|
402
|
+
"print_variables(df, \"distinct_programming\")"
|
|
403
|
+
]
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"cell_type": "code",
|
|
407
|
+
"execution_count": 12,
|
|
408
|
+
"metadata": {},
|
|
409
|
+
"outputs": [
|
|
410
|
+
{
|
|
411
|
+
"name": "stdout",
|
|
412
|
+
"output_type": "stream",
|
|
413
|
+
"text": [
|
|
414
|
+
"Equivalent SQL: select id AS id, masters AS masters, gpa AS gpa, stats AS stats, programming AS programming, admitted AS admitted, DISTINCT programming AS distinct_programming from \"admissions_train\"\n",
|
|
415
|
+
"\n",
|
|
416
|
+
"\n",
|
|
417
|
+
" ************************* DataFrame ********************* \n"
|
|
418
|
+
]
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"ename": "TeradataMlException",
|
|
422
|
+
"evalue": "[Teradata][teradataml](TDML_2102) Failed to execute SQL: '[Version 17.0.0.2] [Session 3058] [Teradata Database] [Error 3706] Syntax error: expected something between ',' and the 'DISTINCT' keyword.\n at gosqldriver/teradatasql.(*teradataConnection).formatDatabaseError TeradataConnection.go:1138\n at gosqldriver/teradatasql.(*teradataConnection).makeChainedDatabaseError TeradataConnection.go:1154\n at gosqldriver/teradatasql.(*teradataConnection).processErrorParcel TeradataConnection.go:1217\n at gosqldriver/teradatasql.(*TeradataRows).processResponseBundle TeradataRows.go:1716\n at gosqldriver/teradatasql.(*TeradataRows).executeSQLRequest TeradataRows.go:552\n at gosqldriver/teradatasql.newTeradataRows TeradataRows.go:418\n at gosqldriver/teradatasql.(*teradataStatement).QueryContext TeradataStatement.go:122\n at gosqldriver/teradatasql.(*teradataConnection).QueryContext TeradataConnection.go:2083\n at database/sql.ctxDriverQuery ctxutil.go:48\n at database/sql.(*DB).queryDC.func1 sql.go:1464\n at database/sql.withLock sql.go:3032\n at database/sql.(*DB).queryDC sql.go:1459\n at database/sql.(*Conn).QueryContext sql.go:1701\n at main.goCreateRows goside.go:652\n at main._cgoexpwrap_212fad278f55_goCreateRows _cgo_gotypes.go:357\n at runtime.call64 asm_amd64.s:574\n at runtime.cgocallbackg1 cgocall.go:316\n at runtime.cgocallbackg cgocall.go:194\n at runtime.cgocallback_gofunc asm_amd64.s:826\n at runtime.goexit asm_amd64.s:2361'",
|
|
423
|
+
"output_type": "error",
|
|
424
|
+
"traceback": [
|
|
425
|
+
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
426
|
+
"\u001b[1;31mOperationalError\u001b[0m Traceback (most recent call last)",
|
|
427
|
+
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\dataframe\\dataframe_utils.py\u001b[0m in \u001b[0;36m_execute_node_return_db_object_name\u001b[1;34m(nodeid, metaexpression)\u001b[0m\n\u001b[0;32m 88\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 89\u001b[1;33m \u001b[0mUtilFuncs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_create_view\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mview_names\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mqueries\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 90\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
428
|
+
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\common\\utils.py\u001b[0m in \u001b[0;36m_create_view\u001b[1;34m(view_name, query)\u001b[0m\n\u001b[0;32m 675\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 676\u001b[1;33m \u001b[0mUtilFuncs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_execute_ddl_statement\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcrt_view\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 677\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
429
|
+
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\common\\utils.py\u001b[0m in \u001b[0;36m_execute_ddl_statement\u001b[1;34m(ddl_statement)\u001b[0m\n\u001b[0;32m 532\u001b[0m \u001b[0mcursor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mconn\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcursor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 533\u001b[1;33m \u001b[0mcursor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mddl_statement\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 534\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
430
|
+
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradatasql\\__init__.py\u001b[0m in \u001b[0;36mexecute\u001b[1;34m(self, sOperation, params, ignoreErrors)\u001b[0m\n\u001b[0;32m 648\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 649\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutemany\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0msOperation\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mignoreErrors\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 650\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
431
|
+
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradatasql\\__init__.py\u001b[0m in \u001b[0;36mexecutemany\u001b[1;34m(self, sOperation, seqOfParams, ignoreErrors)\u001b[0m\n\u001b[0;32m 895\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 896\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mOperationalError\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0msErr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 897\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
432
|
+
"\u001b[1;31mOperationalError\u001b[0m: [Version 17.0.0.2] [Session 3058] [Teradata Database] [Error 3706] Syntax error: expected something between ',' and the 'DISTINCT' keyword.\n at gosqldriver/teradatasql.(*teradataConnection).formatDatabaseError TeradataConnection.go:1138\n at gosqldriver/teradatasql.(*teradataConnection).makeChainedDatabaseError TeradataConnection.go:1154\n at gosqldriver/teradatasql.(*teradataConnection).processErrorParcel TeradataConnection.go:1217\n at gosqldriver/teradatasql.(*TeradataRows).processResponseBundle TeradataRows.go:1716\n at gosqldriver/teradatasql.(*TeradataRows).executeSQLRequest TeradataRows.go:552\n at gosqldriver/teradatasql.newTeradataRows TeradataRows.go:418\n at gosqldriver/teradatasql.(*teradataStatement).QueryContext TeradataStatement.go:122\n at gosqldriver/teradatasql.(*teradataConnection).QueryContext TeradataConnection.go:2083\n at database/sql.ctxDriverQuery ctxutil.go:48\n at database/sql.(*DB).queryDC.func1 sql.go:1464\n at database/sql.withLock sql.go:3032\n at database/sql.(*DB).queryDC sql.go:1459\n at database/sql.(*Conn).QueryContext sql.go:1701\n at main.goCreateRows goside.go:652\n at main._cgoexpwrap_212fad278f55_goCreateRows _cgo_gotypes.go:357\n at runtime.call64 asm_amd64.s:574\n at runtime.cgocallbackg1 cgocall.go:316\n at runtime.cgocallbackg cgocall.go:194\n at runtime.cgocallback_gofunc asm_amd64.s:826\n at runtime.goexit asm_amd64.s:2361",
|
|
433
|
+
"\nDuring handling of the above exception, another exception occurred:\n",
|
|
434
|
+
"\u001b[1;31mTeradataMlException\u001b[0m Traceback (most recent call last)",
|
|
435
|
+
"\u001b[1;32m<ipython-input-12-c0c850313309>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;31m# and SQL does not allow this.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mdf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0madmissions_train\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0massign\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdistinct_programming\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0madmissions_train\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprogramming\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexpression\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdistinct\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mprint_variables\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"distinct_programming\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
436
|
+
"\u001b[1;32m<ipython-input-3-d2288c870869>\u001b[0m in \u001b[0;36mprint_variables\u001b[1;34m(df, columns)\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"\\n\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\" ************************* DataFrame ********************* \"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"\\n\\n\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\" ************************* DataFrame.dtypes ********************* \"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
437
|
+
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\dataframe\\dataframe.py\u001b[0m in \u001b[0;36m__repr__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 4270\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4271\u001b[0m \u001b[1;31m# Generate/Execute AED nodes\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4272\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__execute_node_and_set_table_name\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_nodeid\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_metaexpr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4273\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4274\u001b[0m \u001b[0mquery\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mrepr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_metaexpr\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m' FROM '\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_table_name\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
438
|
+
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\dataframe\\dataframe.py\u001b[0m in \u001b[0;36m__execute_node_and_set_table_name\u001b[1;34m(self, nodeid, metaexpr)\u001b[0m\n\u001b[0;32m 392\u001b[0m \"\"\"\n\u001b[0;32m 393\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_table_name\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 394\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_table_name\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdf_utils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_execute_node_return_db_object_name\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnodeid\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmetaexpr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 395\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 396\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_get_metadata_from_metaexpr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmetaexpr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
439
|
+
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\teradataml\\dataframe\\dataframe_utils.py\u001b[0m in \u001b[0;36m_execute_node_return_db_object_name\u001b[1;34m(nodeid, metaexpression)\u001b[0m\n\u001b[0;32m 98\u001b[0m \u001b[1;31m# node execution failed.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 99\u001b[0m raise TeradataMlException(Messages.get_message(MessageCodes.TDMLDF_EXEC_SQL_FAILED, str(emsg)),\n\u001b[1;32m--> 100\u001b[1;33m MessageCodes.TDMLDF_EXEC_SQL_FAILED)\n\u001b[0m\u001b[0;32m 101\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 102\u001b[0m \u001b[1;31m# Setting New Table name retrieved to TDML DF\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
440
|
+
"\u001b[1;31mTeradataMlException\u001b[0m: [Teradata][teradataml](TDML_2102) Failed to execute SQL: '[Version 17.0.0.2] [Session 3058] [Teradata Database] [Error 3706] Syntax error: expected something between ',' and the 'DISTINCT' keyword.\n at gosqldriver/teradatasql.(*teradataConnection).formatDatabaseError TeradataConnection.go:1138\n at gosqldriver/teradatasql.(*teradataConnection).makeChainedDatabaseError TeradataConnection.go:1154\n at gosqldriver/teradatasql.(*teradataConnection).processErrorParcel TeradataConnection.go:1217\n at gosqldriver/teradatasql.(*TeradataRows).processResponseBundle TeradataRows.go:1716\n at gosqldriver/teradatasql.(*TeradataRows).executeSQLRequest TeradataRows.go:552\n at gosqldriver/teradatasql.newTeradataRows TeradataRows.go:418\n at gosqldriver/teradatasql.(*teradataStatement).QueryContext TeradataStatement.go:122\n at gosqldriver/teradatasql.(*teradataConnection).QueryContext TeradataConnection.go:2083\n at database/sql.ctxDriverQuery ctxutil.go:48\n at database/sql.(*DB).queryDC.func1 sql.go:1464\n at database/sql.withLock sql.go:3032\n at database/sql.(*DB).queryDC sql.go:1459\n at database/sql.(*Conn).QueryContext sql.go:1701\n at main.goCreateRows goside.go:652\n at main._cgoexpwrap_212fad278f55_goCreateRows _cgo_gotypes.go:357\n at runtime.call64 asm_amd64.s:574\n at runtime.cgocallbackg1 cgocall.go:316\n at runtime.cgocallbackg cgocall.go:194\n at runtime.cgocallback_gofunc asm_amd64.s:826\n at runtime.goexit asm_amd64.s:2361'"
|
|
441
|
+
]
|
|
442
|
+
}
|
|
443
|
+
],
|
|
444
|
+
"source": [
|
|
445
|
+
"# Example, where if drop_columns = False in DataFrame.assign() and we use DISTINCT with it.\n",
|
|
446
|
+
"# Cannot use DISTINCT with drop_columns argument is assign set to False.\n",
|
|
447
|
+
"# Query generted will be SELECT col1, col2, DISTINCT col3 .. FROM table of this form and is of incorrect Syntax \n",
|
|
448
|
+
"# and SQL does not allow this.\n",
|
|
449
|
+
"df = admissions_train.assign(distinct_programming=admissions_train.programming.expression.distinct())\n",
|
|
450
|
+
"print_variables(df, \"distinct_programming\")"
|
|
451
|
+
]
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"cell_type": "markdown",
|
|
455
|
+
"metadata": {},
|
|
456
|
+
"source": [
|
|
457
|
+
"## SQLAlchemy EXTRACT expression"
|
|
458
|
+
]
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"cell_type": "code",
|
|
462
|
+
"execution_count": 13,
|
|
463
|
+
"metadata": {},
|
|
464
|
+
"outputs": [
|
|
465
|
+
{
|
|
466
|
+
"name": "stdout",
|
|
467
|
+
"output_type": "stream",
|
|
468
|
+
"text": [
|
|
469
|
+
"WARNING: Skipped loading table ville_climatedata since it already exists in the database.\n"
|
|
470
|
+
]
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"data": {
|
|
474
|
+
"text/plain": [
|
|
475
|
+
"['city', 'period', 'temp_f', 'pressure_mbar', 'dewpoint_f']"
|
|
476
|
+
]
|
|
477
|
+
},
|
|
478
|
+
"execution_count": 13,
|
|
479
|
+
"metadata": {},
|
|
480
|
+
"output_type": "execute_result"
|
|
481
|
+
}
|
|
482
|
+
],
|
|
483
|
+
"source": [
|
|
484
|
+
"from sqlalchemy import extract\n",
|
|
485
|
+
"load_example_data(\"dwt\", \"ville_climatedata\")\n",
|
|
486
|
+
"ville_climatedata = DataFrame(\"ville_climatedata\")\n",
|
|
487
|
+
"ville_climatedata.columns"
|
|
488
|
+
]
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"cell_type": "code",
|
|
492
|
+
"execution_count": 14,
|
|
493
|
+
"metadata": {},
|
|
494
|
+
"outputs": [
|
|
495
|
+
{
|
|
496
|
+
"data": {
|
|
497
|
+
"text/plain": [
|
|
498
|
+
" period temp_f pressure_mbar dewpoint_f\n",
|
|
499
|
+
"city \n",
|
|
500
|
+
"greenville 20100101 02:00 33.9 1020.1 28.4\n",
|
|
501
|
+
"greenville 20100101 04:00 33.1 1020.2 28.0\n",
|
|
502
|
+
"greenville 20100101 05:00 32.7 1020.0 27.9\n",
|
|
503
|
+
"greenville 20100101 06:00 32.5 1020.4 27.7\n",
|
|
504
|
+
"greenville 20100101 08:00 32.1 1021.3 27.5\n",
|
|
505
|
+
"greenville 20100101 09:00 33.8 1021.7 28.3\n",
|
|
506
|
+
"greenville 20100101 07:00 32.3 1020.8 27.6\n",
|
|
507
|
+
"greenville 20100101 03:00 33.5 1020.2 28.3\n",
|
|
508
|
+
"greenville 20100101 01:00 34.4 1020.2 28.7\n",
|
|
509
|
+
"greenville 20100101 00:00 34.9 1020.6 28.8"
|
|
510
|
+
]
|
|
511
|
+
},
|
|
512
|
+
"execution_count": 14,
|
|
513
|
+
"metadata": {},
|
|
514
|
+
"output_type": "execute_result"
|
|
515
|
+
}
|
|
516
|
+
],
|
|
517
|
+
"source": [
|
|
518
|
+
"ville_climatedata"
|
|
519
|
+
]
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"cell_type": "code",
|
|
523
|
+
"execution_count": 15,
|
|
524
|
+
"metadata": {},
|
|
525
|
+
"outputs": [
|
|
526
|
+
{
|
|
527
|
+
"data": {
|
|
528
|
+
"text/plain": [
|
|
529
|
+
"sqlalchemy.sql.elements.Extract"
|
|
530
|
+
]
|
|
531
|
+
},
|
|
532
|
+
"execution_count": 15,
|
|
533
|
+
"metadata": {},
|
|
534
|
+
"output_type": "execute_result"
|
|
535
|
+
}
|
|
536
|
+
],
|
|
537
|
+
"source": [
|
|
538
|
+
"# Extract HOURS values from timestamp in period column\n",
|
|
539
|
+
"extobj = extract('hour', ville_climatedata.period.expression)\n",
|
|
540
|
+
"type(extobj)"
|
|
541
|
+
]
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"cell_type": "code",
|
|
545
|
+
"execution_count": 16,
|
|
546
|
+
"metadata": {},
|
|
547
|
+
"outputs": [
|
|
548
|
+
{
|
|
549
|
+
"name": "stdout",
|
|
550
|
+
"output_type": "stream",
|
|
551
|
+
"text": [
|
|
552
|
+
"Equivalent SQL: select city AS city, period AS period, temp_f AS temp_f, pressure_mbar AS pressure_mbar, dewpoint_f AS dewpoint_f, EXTRACT(hour FROM period) AS sqlalchemy_hours from \"ville_climatedata\"\n",
|
|
553
|
+
"\n",
|
|
554
|
+
"\n",
|
|
555
|
+
" ************************* DataFrame ********************* \n",
|
|
556
|
+
" period temp_f pressure_mbar dewpoint_f sqlalchemy_hours\n",
|
|
557
|
+
"city \n",
|
|
558
|
+
"knoxville 20100101 02:00 33.7 1019.9 28.1 2\n",
|
|
559
|
+
"knoxville 20100101 04:00 32.8 1020.0 27.7 4\n",
|
|
560
|
+
"knoxville 20100101 05:00 32.4 1019.9 27.5 5\n",
|
|
561
|
+
"knoxville 20100101 06:00 32.2 1020.2 27.4 6\n",
|
|
562
|
+
"knoxville 20100101 08:00 31.8 1021.1 27.2 8\n",
|
|
563
|
+
"knoxville 20100101 09:00 33.5 1021.5 28.0 9\n",
|
|
564
|
+
"knoxville 20100101 07:00 32.0 1020.6 27.3 7\n",
|
|
565
|
+
"knoxville 20100101 03:00 33.2 1020.0 27.9 3\n",
|
|
566
|
+
"knoxville 20100101 01:00 34.2 1020.0 28.4 1\n",
|
|
567
|
+
"knoxville 20100101 00:00 34.8 1020.4 28.7 0\n",
|
|
568
|
+
"\n",
|
|
569
|
+
"\n",
|
|
570
|
+
"\n",
|
|
571
|
+
" ************************* DataFrame.dtypes ********************* \n",
|
|
572
|
+
"city str\n",
|
|
573
|
+
"period datetime.datetime\n",
|
|
574
|
+
"temp_f float\n",
|
|
575
|
+
"pressure_mbar float\n",
|
|
576
|
+
"dewpoint_f float\n",
|
|
577
|
+
"sqlalchemy_hours int\n",
|
|
578
|
+
"\n",
|
|
579
|
+
"\n",
|
|
580
|
+
"\n",
|
|
581
|
+
" 'sqlalchemy_hours' Column Type: INTEGER\n"
|
|
582
|
+
]
|
|
583
|
+
}
|
|
584
|
+
],
|
|
585
|
+
"source": [
|
|
586
|
+
"df = ville_climatedata.assign(sqlalchemy_hours=extobj)\n",
|
|
587
|
+
"print_variables(df, \"sqlalchemy_hours\")"
|
|
588
|
+
]
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"cell_type": "markdown",
|
|
592
|
+
"metadata": {},
|
|
593
|
+
"source": [
|
|
594
|
+
"## Using aggregate functions using SQLAlchemy"
|
|
595
|
+
]
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"cell_type": "code",
|
|
599
|
+
"execution_count": 17,
|
|
600
|
+
"metadata": {},
|
|
601
|
+
"outputs": [
|
|
602
|
+
{
|
|
603
|
+
"name": "stdout",
|
|
604
|
+
"output_type": "stream",
|
|
605
|
+
"text": [
|
|
606
|
+
"Equivalent SQL: select count(*) AS sqlalchemy_hours from \"ville_climatedata\"\n",
|
|
607
|
+
"\n",
|
|
608
|
+
"\n",
|
|
609
|
+
" ************************* DataFrame ********************* \n",
|
|
610
|
+
" sqlalchemy_hours\n",
|
|
611
|
+
"0 120\n",
|
|
612
|
+
"\n",
|
|
613
|
+
"\n",
|
|
614
|
+
"\n",
|
|
615
|
+
" ************************* DataFrame.dtypes ********************* \n",
|
|
616
|
+
"sqlalchemy_hours int\n",
|
|
617
|
+
"\n",
|
|
618
|
+
"\n",
|
|
619
|
+
"\n",
|
|
620
|
+
" 'sqlalchemy_hours' Column Type: INTEGER\n"
|
|
621
|
+
]
|
|
622
|
+
}
|
|
623
|
+
],
|
|
624
|
+
"source": [
|
|
625
|
+
"# Get the count of rows using func.count() in DataFrame.assign().\n",
|
|
626
|
+
"# Note: \n",
|
|
627
|
+
"# 1. One must use 'drop_columns=True', so that assign executes without any error.\n",
|
|
628
|
+
"# 2. Using groupby() before assign will not have any effec. No grouping is performed.\n",
|
|
629
|
+
"from sqlalchemy import func\n",
|
|
630
|
+
"df = ville_climatedata.assign(True, sqlalchemy_hours=func.count())\n",
|
|
631
|
+
"print_variables(df, \"sqlalchemy_hours\")"
|
|
632
|
+
]
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"cell_type": "code",
|
|
636
|
+
"execution_count": 18,
|
|
637
|
+
"metadata": {},
|
|
638
|
+
"outputs": [
|
|
639
|
+
{
|
|
640
|
+
"data": {
|
|
641
|
+
"text/plain": [
|
|
642
|
+
"True"
|
|
643
|
+
]
|
|
644
|
+
},
|
|
645
|
+
"execution_count": 18,
|
|
646
|
+
"metadata": {},
|
|
647
|
+
"output_type": "execute_result"
|
|
648
|
+
}
|
|
649
|
+
],
|
|
650
|
+
"source": [
|
|
651
|
+
"# One must run remove_context() to close the connection and garbage collect internally generated objects.\n",
|
|
652
|
+
"remove_context()"
|
|
653
|
+
]
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"cell_type": "code",
|
|
657
|
+
"execution_count": null,
|
|
658
|
+
"metadata": {},
|
|
659
|
+
"outputs": [],
|
|
660
|
+
"source": []
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"cell_type": "code",
|
|
664
|
+
"execution_count": null,
|
|
665
|
+
"metadata": {},
|
|
666
|
+
"outputs": [],
|
|
667
|
+
"source": []
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
"cell_type": "code",
|
|
671
|
+
"execution_count": null,
|
|
672
|
+
"metadata": {},
|
|
673
|
+
"outputs": [],
|
|
674
|
+
"source": []
|
|
675
|
+
}
|
|
676
|
+
],
|
|
677
|
+
"metadata": {
|
|
678
|
+
"kernelspec": {
|
|
679
|
+
"display_name": "Python 3 (ipykernel)",
|
|
680
|
+
"language": "python",
|
|
681
|
+
"name": "python3"
|
|
682
|
+
},
|
|
683
|
+
"language_info": {
|
|
684
|
+
"codemirror_mode": {
|
|
685
|
+
"name": "ipython",
|
|
686
|
+
"version": 3
|
|
687
|
+
},
|
|
688
|
+
"file_extension": ".py",
|
|
689
|
+
"mimetype": "text/x-python",
|
|
690
|
+
"name": "python",
|
|
691
|
+
"nbconvert_exporter": "python",
|
|
692
|
+
"pygments_lexer": "ipython3",
|
|
693
|
+
"version": "3.9.16"
|
|
694
|
+
}
|
|
695
|
+
},
|
|
696
|
+
"nbformat": 4,
|
|
697
|
+
"nbformat_minor": 2
|
|
698
|
+
}
|