From bb3fa240a2112697224b963556696b5d742fd6cc Mon Sep 17 00:00:00 2001
From: shilpa nalkande \n",
+ " BinarySeriesOp function in Vantage\n",
+ " Introduction BinarySeriesOp The BinarySeriesOp() function performs a point wise mathematical operation on two time series of equal size. The principal mathematical operation can be subtraction, addition, multiplication and division. It is called a point wise operation because it performs the mathematical operation one sample point at a time. Common uses of BinarySeriesOp() are:
\n",
+ " \n",
+ "
The following procedure is an example of how to use BinarySeriesOp() to convolve two series with digital signal processing:
\n", + "In the section, we import the required libraries and set environment variables and environment paths (if required)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5af5af3-29d5-4f6a-8334-9df6924e7787", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import (\n", + " create_context,\n", + " execute_sql,\n", + " load_example_data,\n", + " DataFrame,\n", + " in_schema,\n", + " TDSeries,\n", + " BinarySeriesOp,\n", + " db_drop_view,\n", + " remove_context,\n", + " copy_to_sql,\n", + " db_drop_table\n", + " )\n", + "\n", + "from teradatasqlalchemy.types import *\n", + "\n", + "from teradataml import to_numeric\n", + "# Modify the following to match the specific client environment settings\n", + "display.max_rows = 5" + ] + }, + { + "cell_type": "markdown", + "id": "ad3dd7b4-831c-4fb3-ab71-719c8c99a71c", + "metadata": {}, + "source": [ + "
1.1 Connect to Vantage
\n", + "You will be prompted to provide the password. Enter your password, press the Enter key, and then use the down arrow to go to the next cell.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2742444c-4349-4b0f-b4e5-b068a8785cd9", + "metadata": {}, + "outputs": [], + "source": [ + "%run -i ../../UseCases/startup.ipynb\n", + "eng = create_context(host = 'host.docker.internal', username='demo_user', password = password)\n", + "print(eng)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "01c4a128-d106-46ea-8dee-34acc5abd29f", + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "execute_sql('''SET query_band='DEMO=PP_BinarySeriesOp_Python.ipynb;' UPDATE FOR SESSION; ''')" + ] + }, + { + "cell_type": "markdown", + "id": "efe2fd2d-63ff-4278-9157-8b9110d682e8", + "metadata": {}, + "source": [ + "Begin running steps with Shift + Enter keys.
" + ] + }, + { + "cell_type": "markdown", + "id": "4a6e3852-3b15-4cbd-844d-e7194b3bd204", + "metadata": {}, + "source": [ + "1.2 Getting Data for This Demo
\n", + "\n", + "Here, we will get the time series data which is available in the teradataml library and use the same to show the usage of the function.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "398fa0aa-c0df-4130-9dea-53b776fbaf80", + "metadata": {}, + "outputs": [], + "source": [ + "load_example_data(\"uaf\", [\"binary_complex_left\", \"binary_complex_right\"])" + ] + }, + { + "cell_type": "markdown", + "id": "2a3762ac-ba27-4fa3-adba-d577262a4290", + "metadata": {}, + "source": [ + "Create a \"Virtual DataFrame\" that points to the data set in Vantage. Check the shape of the dataframe as check the datatype of all the columns of the dataframe.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9672d80d-cdcc-4f4c-9399-7c367e7970b1", + "metadata": {}, + "outputs": [], + "source": [ + "data1 = DataFrame.from_table(\"binary_complex_left\")\n", + "data2 = DataFrame.from_table(\"binary_complex_right\")\n", + "data1 " + ] + }, + { + "cell_type": "markdown", + "id": "4a2f79a0-eb16-4c3b-bec2-c313e97ac940", + "metadata": {}, + "source": [ + "The BinarySeriesOp() function can be configured to operate in one of three input modes - ONE2ONE, MANY2ONE, and MATCH. These modes determine the number of primary series and number of secondary series involved in the operation, as well as determining how the primary and secondary series will be matched together.
\n", + "\n", + "The first step is to convert the data into TDSeries, which is required for the input time series which are passed to the LinearRegr function.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a711f58c-fbd3-4457-9f6a-9cd5c1b192dc", + "metadata": {}, + "outputs": [], + "source": [ + "data1_series_df = TDSeries(data=data1,\n", + " id=\"id\",\n", + " row_index=\"seq\",\n", + " row_index_style=\"SEQUENCE\",\n", + " payload_field=[\"real_val\", \"imaginary_val\"],\n", + " payload_content=\"COMPLEX\") " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73e8def9-f8a7-40b0-bbf0-4cb3e4295794", + "metadata": {}, + "outputs": [], + "source": [ + "data2_series_df = TDSeries(data=data2,\n", + " id=\"id\",\n", + " row_index=\"seq\",\n", + " row_index_style= \"SEQUENCE\",\n", + " payload_field=[\"real_val\", \"imaginary_val\"],\n", + " payload_content=\"COMPLEX\")" + ] + }, + { + "cell_type": "markdown", + "id": "d33d2bcc-c87c-4fd4-913a-79e330bd2da2", + "metadata": {}, + "source": [ + "Than, we form the filter expressions to filter the series with id=1.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9cc417c-b6f2-40a1-810b-bbfa893b10ba", + "metadata": {}, + "outputs": [], + "source": [ + "data1_filter_expr=data1_series_df.id==1\n", + "data2_filter_expr=data2_series_df.id==1" + ] + }, + { + "cell_type": "markdown", + "id": "0bd6859c-b85a-4599-90f5-1f6621980fab", + "metadata": {}, + "source": [ + "We use the BinarySeriesOp to perform addition of two time series of equal size.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8965392c-404e-4e25-b5b8-c7ef06069154", + "metadata": {}, + "outputs": [], + "source": [ + "uaf_out = BinarySeriesOp(data1=data1_series_df,\n", + " data1_filter_expr=data1_filter_expr,\n", + " data2=data2_series_df,\n", + " data2_filter_expr=data2_filter_expr,\n", + " math_op=\"ADD\",\n", + " input_fmt_input_mode=\"MANY2ONE\")\n", + "\n", + "binaryseries_df = uaf_out.result\n", + "binaryseries_df" + ] + }, + { + "cell_type": "markdown", + "id": "c25fdaf1-098b-4dea-984b-579c6412557e", + "metadata": {}, + "source": [ + "Work Tables
\n", + "The following code will clean up tables created above.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9dff9677-dae1-4cc5-b78e-3d197cc41e0c", + "metadata": {}, + "outputs": [], + "source": [ + "db_drop_table(\"binary_complex_left\")\n", + "db_drop_table(\"binary_complex_right\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b96168c-7973-4259-b3e0-668b92fd846e", + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "id": "4317a6cf-1479-4aa8-b30a-ee0a3b5231a8", + "metadata": {}, + "source": [ + "Links:
\n", + "The BinarySeriesOp() function can be configured to operate in one of three input modes - ONE2ONE, MANY2ONE, and MATCH. These modes determine the number of primary series and number of secondary series involved in the operation, as well as determining how the primary and secondary series will be matched together.
\n", "\n", - "The first step is to convert the data into TDSeries, which is required for the input time series which are passed to the LinearRegr function.
\n" + "The first step is to convert the data into TDSeries, which is required for the input time series which are passed to the BinarySeriesOp function.
\n" ] }, { @@ -252,6 +252,14 @@ "binaryseries_df" ] }, + { + "cell_type": "markdown", + "id": "2f66bf78-4ea4-4387-b078-a91f491931e6", + "metadata": {}, + "source": [ + "The result series always inherits the identifiers, series_id from the primary series.
" + ] + }, { "cell_type": "markdown", "id": "c25fdaf1-098b-4dea-984b-579c6412557e", From 38e92cd238e877013c8623e692bdeea819581d2c Mon Sep 17 00:00:00 2001 From: shilpa-nalkande\n",
- " BinarySeriesOp function in Vantage\n",
+ " BinarySeriesOp Function in Vantage\n",
"
\n",
" \n",
"
Introduction
\n", + "Introduction
\n", "\n", - "BinarySeriesOp
\n", - "The BinarySeriesOp() function performs a point wise mathematical operation on two time series of equal size. The principal mathematical operation can be subtraction, addition, multiplication and division. It is called a point wise operation because it performs the mathematical operation one sample point at a time.
\n", - "Common uses of BinarySeriesOp() are:
\n", - "BinarySeriesOp
\n", + "The BinarySeriesOp() function performs a point wise mathematical operation on two time series of equal size. The principal mathematical operation can be subtraction, addition, multiplication and division. It is called a point wise operation because it performs the mathematical operation one sample point at a time.
\n", + "Common uses of BinarySeriesOp() are:
\n", + "The following procedure is an example of how to use BinarySeriesOp() to convolve two series with digital signal processing:
\n", - "The following procedure is an example of how to use BinarySeriesOp() to convolve two series with digital signal processing:
\n", + "In the section, we import the required libraries and set environment variables and environment paths (if required)." + "
In the section, we import the required libraries and set environment variables and environment paths (if required)." ] }, { @@ -86,8 +86,8 @@ "metadata": {}, "source": [ "
1.1 Connect to Vantage
\n", - "You will be prompted to provide the password. Enter your password, press the Enter key, and then use the down arrow to go to the next cell.
" + "1.1 Connect to Vantage
\n", + "You will be prompted to provide the password. Enter your password, press the Enter key, and then use the down arrow to go to the next cell.
" ] }, { @@ -118,7 +118,7 @@ "id": "efe2fd2d-63ff-4278-9157-8b9110d682e8", "metadata": {}, "source": [ - "Begin running steps with Shift + Enter keys.
" + "Begin running steps with Shift + Enter keys.
" ] }, { @@ -128,9 +128,9 @@ "source": [ "1.2 Getting Data for This Demo
\n", + "1.2 Getting Data for This Demo
\n", "\n", - "Here, we will get the time series data which is available in the teradataml library and use the same to show the usage of the function.
" + "Here, we will get the time series data which is available in the teradataml library and use the same to show the usage of the function.
" ] }, { @@ -149,8 +149,8 @@ "metadata": {}, "source": [ "Create a \"Virtual DataFrame\" that points to the data set in Vantage. Check the shape of the dataframe as check the datatype of all the columns of the dataframe.
" + "2. Data Exploration\n", + "Create a \"Virtual DataFrame\" that points to the data set in Vantage. Check the shape of the dataframe as check the datatype of all the columns of the dataframe.
" ] }, { @@ -167,14 +167,30 @@ }, { "cell_type": "markdown", - "id": "4a2f79a0-eb16-4c3b-bec2-c313e97ac940", + "id": "70d2f836-93e4-4fe3-a9de-2815d95bed5f", "metadata": {}, "source": [ "The BinarySeriesOp() function can be configured to operate in one of three input modes - ONE2ONE, MANY2ONE, and MATCH. These modes determine the number of primary series and number of secondary series involved in the operation, as well as determining how the primary and secondary series will be matched together.
\n", - "\n", - "The first step is to convert the data into TDSeries, which is required for the input time series which are passed to the BinarySeriesOp function.
\n" + "3. BinarySeriesOp\n", + "The BinarySeriesOp() function can be configured to operate in one of three input modes - ONE2ONE, MANY2ONE, and MATCH. These modes determine the number of primary series and number of secondary series involved in the operation, as well as determining how the primary and secondary series will be matched together. Detailed help can be found by passing function name to built-in help function.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c17c456b-edfd-44a3-a1ec-8596b7abd9a2", + "metadata": {}, + "outputs": [], + "source": [ + "help(BinarySeriesOp)" + ] + }, + { + "cell_type": "markdown", + "id": "874fc607-7e68-4ca7-b7b4-227300147749", + "metadata": {}, + "source": [ + "The first step is to convert the data into TDSeries, which is required for the input time series which are passed to the BinarySeriesOp function.
" ] }, { @@ -212,7 +228,7 @@ "id": "d33d2bcc-c87c-4fd4-913a-79e330bd2da2", "metadata": {}, "source": [ - "Than, we form the filter expressions to filter the series with id=1.
" + "Than, we form the filter expressions to filter the series with id=1.
" ] }, { @@ -231,7 +247,7 @@ "id": "0bd6859c-b85a-4599-90f5-1f6621980fab", "metadata": {}, "source": [ - "We use the BinarySeriesOp to perform addition of two time series of equal size.
" + "We use the BinarySeriesOp to perform addition of two time series of equal size.
" ] }, { @@ -257,7 +273,7 @@ "id": "2f66bf78-4ea4-4387-b078-a91f491931e6", "metadata": {}, "source": [ - "The result series always inherits the identifiers, series_id from the primary series.
" + "The result series always inherits the identifiers, series_id from the primary series.
" ] }, { @@ -266,7 +282,7 @@ "metadata": {}, "source": [ "Work Tables
\n", - "The following code will clean up tables created above.
" + "Work Tables
\n", + "The following code will clean up tables created above.
" ] }, { @@ -306,7 +322,7 @@ "source": [ "Links:
\n", + "Links:
\n", "1.1 Connect to Vantage
\n", "You will be prompted to provide the password. Enter your password, press the Enter key, and then use the down arrow to go to the next cell.
" ] @@ -126,7 +126,7 @@ "id": "4a6e3852-3b15-4cbd-844d-e7194b3bd204", "metadata": {}, "source": [ - "1.2 Getting Data for This Demo
\n", "\n", @@ -148,7 +148,7 @@ "id": "2a3762ac-ba27-4fa3-adba-d577262a4290", "metadata": {}, "source": [ - "Create a \"Virtual DataFrame\" that points to the data set in Vantage. Check the shape of the dataframe as check the datatype of all the columns of the dataframe.
" ] @@ -170,7 +170,7 @@ "id": "70d2f836-93e4-4fe3-a9de-2815d95bed5f", "metadata": {}, "source": [ - "The BinarySeriesOp() function can be configured to operate in one of three input modes - ONE2ONE, MANY2ONE, and MATCH. These modes determine the number of primary series and number of secondary series involved in the operation, as well as determining how the primary and secondary series will be matched together. Detailed help can be found by passing function name to built-in help function.
" ] @@ -281,7 +281,7 @@ "id": "c25fdaf1-098b-4dea-984b-579c6412557e", "metadata": {}, "source": [ - "Links:
\n", "