{"id":138442,"date":"2022-05-31T09:00:00","date_gmt":"2022-05-31T13:00:00","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=138442"},"modified":"2022-11-21T09:54:58","modified_gmt":"2022-11-21T14:54:58","slug":"data-manipulation-and-visualization-techniques-in-julia-part-iv","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/","title":{"rendered":"Data Manipulation and Visualization Techniques in Julia \u2013 Part IV"},"content":{"rendered":"\n<p><em>Learn how to create new dataframes with&nbsp;<a href=\"\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-i\/\">Part I<\/a>, how to perform basic mathematical operations in&nbsp;<a href=\"\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-ii\/\">Part II<\/a> and see <a href=\"\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iii\/\">Part III<\/a> for instructions on how to use the package RDatasets.jl.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"dealing-with-missing-data\">Dealing with missing data<\/h3>\n\n\n\n<p>Julia has a \u201cmissing\u201d object that is used for unavailable data. You can use skipmissing() function to perform operations ignoring the missing values.<\/p>\n\n\n\n<p>Output:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>a<\/th><th>b<\/th><\/tr><tr><th>Int64?<\/th><th>String?<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>Apple<\/td><\/tr><tr><td><em>missing<\/em><\/td><td>Orange<\/td><\/tr><tr><td>3<\/td><td><em>missing<\/em><\/td><\/tr><tr><td>7<\/td><td>Grapes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>You can use dropmissing() function to remove the missing values.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>a<\/th><td><strong>b<\/strong><\/td><\/tr><tr><th>Int64<\/th><th>String<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>Apple<\/td><\/tr><tr><td>7<\/td><td>Grapes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>More details for dealing with missing values can be found&nbsp;<a href=\"https:\/\/docs.julialang.org\/en\/v1\/manual\/missing\/\" target=\"_blank\" rel=\"noreferrer noopener\">here.<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"importing-and-exporting-data-as-csv-and-excel-files\">Importing and exporting data as CSV and Excel files<\/h2>\n\n\n\n<p>Reading data is the first step in analysing any kind of data. Most of the information we come across is either in CSV or excel format, so we\u2019ll focus on these two. We will work with CSV.jl and XLSX.jl for dealing with CSV and Excel files.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"reading-and-writing-csv-files\">Reading and writing CSV files<\/h3>\n\n\n\n<p>We\u2019ll read a CSV file (infy.csv), as a dataframe, containing historical stock price data for Infosys downloaded from Yahoo finance for the period 21-Dec-2020 to 22-Dec-2021.<\/p>\n\n\n\n<p>Here\u2019s a summary for this data.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>variable<\/th><th>mean<\/th><th>min<\/th><th>median<\/th><th>max<\/th><th>nmissing<\/th><th>eltype<\/th><\/tr><tr><th>Symbol<\/th><th>Union\u2026<\/th><th>Any<\/th><th>Union\u2026<\/th><th>Any<\/th><th>Int64<\/th><th>DataType<\/th><\/tr><\/thead><tbody><tr><td>Date<\/td><td>&nbsp;<\/td><td>2020-12-22<\/td><td>&nbsp;<\/td><td>2021-12-21<\/td><td>0<\/td><td>Date<\/td><\/tr><tr><td>Open<\/td><td>20.5674<\/td><td>16.39<\/td><td>20.63<\/td><td>24.05<\/td><td>0<\/td><td>Float64<\/td><\/tr><tr><td>High<\/td><td>20.7164<\/td><td>16.69<\/td><td>20.775<\/td><td>24.5<\/td><td>0<\/td><td>Float64<\/td><\/tr><tr><td>Low<\/td><td>20.4097<\/td><td>16.36<\/td><td>20.51<\/td><td>23.94<\/td><td>0<\/td><td>Float64<\/td><\/tr><tr><td>Close<\/td><td>20.5685<\/td><td>16.58<\/td><td>20.725<\/td><td>24.22<\/td><td>0<\/td><td>Float64<\/td><\/tr><tr><td>Adj Close<\/td><td>20.3422<\/td><td>16.2664<\/td><td>20.5451<\/td><td>24.22<\/td><td>0<\/td><td>Float64<\/td><\/tr><tr><td>Volume<\/td><td>7.09982e6<\/td><td>1320600<\/td><td>6.43815e6<\/td><td>22911800<\/td><td>0<\/td><td>Int64<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Here, we calculate the range &#8211;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Date<\/th><th>Open<\/th><th>High<\/th><th>Low<\/th><th>Close<\/th><th>Adj Close<\/th><th>Volume<\/th><th>range<\/th><\/tr><tr><th>Date<\/th><th>Float64<\/th><th>Float64<\/th><th>Float64<\/th><th>Float64<\/th><th>Float64<\/th><th>Int64<\/th><th>Float64<\/th><\/tr><\/thead><tbody><tr><td>2020-12-22<\/td><td>16.39<\/td><td>16.74<\/td><td>16.36<\/td><td>16.58<\/td><td>16.2664<\/td><td>6714400<\/td><td>0.379999<\/td><\/tr><tr><td>2020-12-23<\/td><td>16.9<\/td><td>16.93<\/td><td>16.57<\/td><td>16.59<\/td><td>16.2762<\/td><td>5913500<\/td><td>0.36<\/td><\/tr><tr><td>2020-12-24<\/td><td>16.68<\/td><td>16.69<\/td><td>16.52<\/td><td>16.6<\/td><td>16.286<\/td><td>1320600<\/td><td>0.170001<\/td><\/tr><tr><td>2020-12-28<\/td><td>16.73<\/td><td>16.84<\/td><td>16.72<\/td><td>16.77<\/td><td>16.4528<\/td><td>4239300<\/td><td>0.120001<\/td><\/tr><tr><td>2020-12-29<\/td><td>16.9<\/td><td>16.9<\/td><td>16.67<\/td><td>16.76<\/td><td>16.443<\/td><td>8473700<\/td><td>0.23<\/td><\/tr><tr><td>2020-12-30<\/td><td>16.87<\/td><td>17.0<\/td><td>16.83<\/td><td>16.93<\/td><td>16.6098<\/td><td>3877200<\/td><td>0.17<\/td><\/tr><tr><td>2020-12-31<\/td><td>17.01<\/td><td>17.03<\/td><td>16.89<\/td><td>16.95<\/td><td>16.6294<\/td><td>3693700<\/td><td>0.140002<\/td><\/tr><tr><td>2021-01-04<\/td><td>17.39<\/td><td>17.43<\/td><td>17.06<\/td><td>17.25<\/td><td>16.9237<\/td><td>12597600<\/td><td>0.370001<\/td><\/tr><tr><td>2021-01-05<\/td><td>17.32<\/td><td>17.67<\/td><td>17.32<\/td><td>17.65<\/td><td>17.3162<\/td><td>8109900<\/td><td>0.35<\/td><\/tr><tr><td>2021-01-06<\/td><td>17.4<\/td><td>17.79<\/td><td>17.34<\/td><td>17.73<\/td><td>17.3946<\/td><td>9136300<\/td><td>0.450001<\/td><\/tr><tr><td>2021-01-07<\/td><td>17.36<\/td><td>17.55<\/td><td>17.26<\/td><td>17.55<\/td><td>17.2181<\/td><td>10272000<\/td><td>0.289999<\/td><\/tr><tr><td>2021-01-08<\/td><td>18.07<\/td><td>18.61<\/td><td>18.02<\/td><td>18.59<\/td><td>18.2384<\/td><td>17802400<\/td><td>0.590001<\/td><\/tr><tr><td>2021-01-11<\/td><td>18.68<\/td><td>18.86<\/td><td>18.55<\/td><td>18.76<\/td><td>18.4052<\/td><td>12220600<\/td><td>0.310002<\/td><\/tr><tr><td>2021-01-12<\/td><td>18.92<\/td><td>18.94<\/td><td>18.54<\/td><td>18.6<\/td><td>18.2482<\/td><td>10629100<\/td><td>0.4<\/td><\/tr><tr><td>2021-01-13<\/td><td>19.03<\/td><td>19.07<\/td><td>18.4<\/td><td>18.43<\/td><td>18.0814<\/td><td>18409900<\/td><td>0.67<\/td><\/tr><tr><td>2021-01-14<\/td><td>18.57<\/td><td>18.65<\/td><td>18.14<\/td><td>18.22<\/td><td>17.8754<\/td><td>13286100<\/td><td>0.510001<\/td><\/tr><tr><td>2021-01-15<\/td><td>18.19<\/td><td>18.38<\/td><td>18.11<\/td><td>18.17<\/td><td>17.8263<\/td><td>7443000<\/td><td>0.269998<\/td><\/tr><tr><td>2021-01-19<\/td><td>18.08<\/td><td>18.18<\/td><td>17.95<\/td><td>18.12<\/td><td>17.7773<\/td><td>7179600<\/td><td>0.229999<\/td><\/tr><tr><td>2021-01-20<\/td><td>18.37<\/td><td>18.47<\/td><td>18.29<\/td><td>18.4<\/td><td>18.052<\/td><td>5408500<\/td><td>0.179998<\/td><\/tr><tr><td>2021-01-21<\/td><td>18.39<\/td><td>18.4<\/td><td>18.15<\/td><td>18.2<\/td><td>17.8558<\/td><td>7963400<\/td><td>0.25<\/td><\/tr><tr><td>2021-01-22<\/td><td>18.23<\/td><td>18.27<\/td><td>18.06<\/td><td>18.18<\/td><td>17.8361<\/td><td>5663500<\/td><td>0.210001<\/td><\/tr><tr><td>2021-01-25<\/td><td>18.15<\/td><td>18.22<\/td><td>17.84<\/td><td>17.92<\/td><td>17.5811<\/td><td>6012600<\/td><td>0.379999<\/td><\/tr><tr><td>2021-01-26<\/td><td>17.92<\/td><td>17.92<\/td><td>17.75<\/td><td>17.85<\/td><td>17.5124<\/td><td>5472600<\/td><td>0.17<\/td><\/tr><tr><td>2021-01-27<\/td><td>17.65<\/td><td>17.89<\/td><td>17.44<\/td><td>17.47<\/td><td>17.1396<\/td><td>11388300<\/td><td>0.449998<\/td><\/tr><tr><td>2021-01-28<\/td><td>17.46<\/td><td>17.75<\/td><td>17.41<\/td><td>17.64<\/td><td>17.3064<\/td><td>7877600<\/td><td>0.34<\/td><\/tr><tr><td>2021-01-29<\/td><td>17.16<\/td><td>17.23<\/td><td>16.88<\/td><td>16.88<\/td><td>16.5607<\/td><td>9671400<\/td><td>0.350001<\/td><\/tr><tr><td>2021-02-01<\/td><td>17.19<\/td><td>17.42<\/td><td>17.05<\/td><td>17.38<\/td><td>17.0513<\/td><td>5829200<\/td><td>0.370001<\/td><\/tr><tr><td>2021-02-02<\/td><td>17.45<\/td><td>17.51<\/td><td>17.34<\/td><td>17.44<\/td><td>17.1101<\/td><td>4119800<\/td><td>0.17<\/td><\/tr><tr><td>2021-02-03<\/td><td>17.6<\/td><td>17.75<\/td><td>17.49<\/td><td>17.65<\/td><td>17.3162<\/td><td>4677800<\/td><td>0.26<\/td><\/tr><tr><td>2021-02-04<\/td><td>17.54<\/td><td>17.64<\/td><td>17.36<\/td><td>17.59<\/td><td>17.2573<\/td><td>4439600<\/td><td>0.279998<\/td><\/tr><tr><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>This updated dataframe can be saved using CSV.write() function.<\/p>\n\n\n\n<p><strong>Reading and writing excel files<\/strong><\/p>\n\n\n\n<p>We\u2019ll use the XLSX.jl package in Julia to read and write excel files.<\/p>\n\n\n\n<p>Here\u2019s how it can be done &#8211;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Date<\/th><th>Open<\/th><th>High<\/th><th>Low<\/th><th>Close<\/th><th>Adj Close<\/th><th>Volume<\/th><\/tr><tr><th>Any<\/th><th>Any<\/th><th>Any<\/th><th>Any<\/th><th>Any<\/th><th>Any<\/th><th>Any<\/th><\/tr><\/thead><tbody><tr><td>2020-12-22<\/td><td>16.39<\/td><td>16.74<\/td><td>16.36<\/td><td>16.58<\/td><td>16.2664<\/td><td>6714400<\/td><\/tr><tr><td>2020-12-23<\/td><td>16.9<\/td><td>16.93<\/td><td>16.57<\/td><td>16.59<\/td><td>16.2762<\/td><td>5913500<\/td><\/tr><tr><td>2020-12-24<\/td><td>16.68<\/td><td>16.69<\/td><td>16.52<\/td><td>16.6<\/td><td>16.286<\/td><td>1320600<\/td><\/tr><tr><td>2020-12-28<\/td><td>16.73<\/td><td>16.84<\/td><td>16.72<\/td><td>16.77<\/td><td>16.4528<\/td><td>4239300<\/td><\/tr><tr><td>2020-12-29<\/td><td>16.9<\/td><td>16.9<\/td><td>16.67<\/td><td>16.76<\/td><td>16.443<\/td><td>8473700<\/td><\/tr><tr><td>2020-12-30<\/td><td>16.87<\/td><td>17.0<\/td><td>16.83<\/td><td>16.93<\/td><td>16.6098<\/td><td>3877200<\/td><\/tr><tr><td>2020-12-31<\/td><td>17.01<\/td><td>17.03<\/td><td>16.89<\/td><td>16.95<\/td><td>16.6294<\/td><td>3693700<\/td><\/tr><tr><td>2021-01-04<\/td><td>17.39<\/td><td>17.43<\/td><td>17.06<\/td><td>17.25<\/td><td>16.9237<\/td><td>12597600<\/td><\/tr><tr><td>2021-01-05<\/td><td>17.32<\/td><td>17.67<\/td><td>17.32<\/td><td>17.65<\/td><td>17.3162<\/td><td>8109900<\/td><\/tr><tr><td>2021-01-06<\/td><td>17.4<\/td><td>17.79<\/td><td>17.34<\/td><td>17.73<\/td><td>17.3946<\/td><td>9136300<\/td><\/tr><tr><td>2021-01-07<\/td><td>17.36<\/td><td>17.55<\/td><td>17.26<\/td><td>17.55<\/td><td>17.2181<\/td><td>10272000<\/td><\/tr><tr><td>2021-01-08<\/td><td>18.07<\/td><td>18.61<\/td><td>18.02<\/td><td>18.59<\/td><td>18.2384<\/td><td>17802400<\/td><\/tr><tr><td>2021-01-11<\/td><td>18.68<\/td><td>18.86<\/td><td>18.55<\/td><td>18.76<\/td><td>18.4052<\/td><td>12220600<\/td><\/tr><tr><td>2021-01-12<\/td><td>18.92<\/td><td>18.94<\/td><td>18.54<\/td><td>18.6<\/td><td>18.2482<\/td><td>10629100<\/td><\/tr><tr><td>2021-01-13<\/td><td>19.03<\/td><td>19.07<\/td><td>18.4<\/td><td>18.43<\/td><td>18.0814<\/td><td>18409900<\/td><\/tr><tr><td>2021-01-14<\/td><td>18.57<\/td><td>18.65<\/td><td>18.14<\/td><td>18.22<\/td><td>17.8754<\/td><td>13286100<\/td><\/tr><tr><td>2021-01-15<\/td><td>18.19<\/td><td>18.38<\/td><td>18.11<\/td><td>18.17<\/td><td>17.8263<\/td><td>7443000<\/td><\/tr><tr><td>2021-01-19<\/td><td>18.08<\/td><td>18.18<\/td><td>17.95<\/td><td>18.12<\/td><td>17.7773<\/td><td>7179600<\/td><\/tr><tr><td>2021-01-20<\/td><td>18.37<\/td><td>18.47<\/td><td>18.29<\/td><td>18.4<\/td><td>18.052<\/td><td>5408500<\/td><\/tr><tr><td>2021-01-21<\/td><td>18.39<\/td><td>18.4<\/td><td>18.15<\/td><td>18.2<\/td><td>17.8558<\/td><td>7963400<\/td><\/tr><tr><td>2021-01-22<\/td><td>18.23<\/td><td>18.27<\/td><td>18.06<\/td><td>18.18<\/td><td>17.8361<\/td><td>5663500<\/td><\/tr><tr><td>2021-01-25<\/td><td>18.15<\/td><td>18.22<\/td><td>17.84<\/td><td>17.92<\/td><td>17.5811<\/td><td>6012600<\/td><\/tr><tr><td>2021-01-26<\/td><td>17.92<\/td><td>17.92<\/td><td>17.75<\/td><td>17.85<\/td><td>17.5124<\/td><td>5472600<\/td><\/tr><tr><td>2021-01-27<\/td><td>17.65<\/td><td>17.89<\/td><td>17.44<\/td><td>17.47<\/td><td>17.1396<\/td><td>11388300<\/td><\/tr><tr><td>2021-01-28<\/td><td>17.46<\/td><td>17.75<\/td><td>17.41<\/td><td>17.64<\/td><td>17.3064<\/td><td>7877600<\/td><\/tr><tr><td>2021-01-29<\/td><td>17.16<\/td><td>17.23<\/td><td>16.88<\/td><td>16.88<\/td><td>16.5607<\/td><td>9671400<\/td><\/tr><tr><td>2021-02-01<\/td><td>17.19<\/td><td>17.42<\/td><td>17.05<\/td><td>17.38<\/td><td>17.0513<\/td><td>5829200<\/td><\/tr><tr><td>2021-02-02<\/td><td>17.45<\/td><td>17.51<\/td><td>17.34<\/td><td>17.44<\/td><td>17.1101<\/td><td>4119800<\/td><\/tr><tr><td>2021-02-03<\/td><td>17.6<\/td><td>17.75<\/td><td>17.49<\/td><td>17.65<\/td><td>17.3162<\/td><td>4677800<\/td><\/tr><tr><td>2021-02-04<\/td><td>17.54<\/td><td>17.64<\/td><td>17.36<\/td><td>17.59<\/td><td>17.2573<\/td><td>4439600<\/td><\/tr><tr><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><td>\u22ee<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>We can write an excel file using the writetable() function.<\/p>\n\n\n\n<p>Julia has in-built read() and write() open() close() functions to work with text files. More details can be found&nbsp;<a href=\"https:\/\/en.wikibooks.org\/wiki\/Introducing_Julia\/Working_with_text_files\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>Data can be written in .jld format as well. .jld is Julia\u2019s data format built using the JLD.jl package.<\/p>\n\n\n\n<p>Details for the following packages can be found here &#8211;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/JuliaIO\/JLD.jl\" target=\"_blank\" rel=\"noreferrer noopener\">JLD.jl<\/a><\/li><li><a href=\"https:\/\/csv.juliadata.org\/stable\/\" target=\"_blank\" rel=\"noreferrer noopener\">CSV.jl<\/a><\/li><li><a href=\"https:\/\/felipenoris.github.io\/XLSX.jl\/stable\/tutorial\/\" target=\"_blank\" rel=\"noreferrer noopener\">XLSX.jl<\/a><\/li><li><a href=\"https:\/\/dataframes.juliadata.org\/stable\/man\/importing_and_exporting\/#Other-formats\" target=\"_blank\" rel=\"noreferrer noopener\">Other formats<\/a><\/li><\/ul>\n\n\n\n<p><em>Stay tuned for the next installment, in which Anshul Tayal will present how to create scripts for data visualization.<\/em><\/p>\n\n\n\n<p><em>Visit QuantInsti to read the full article:&nbsp;<a href=\"https:\/\/blog.quantinsti.com\/data-manipulation-visualization-using-julia\/\">https:\/\/blog.quantinsti.com\/data-manipulation-visualization-using-julia\/<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Julia has a \u201cmissing\u201d object that is used for unavailable data. You can use skipmissing() function to perform operations ignoring the missing values.<\/p>\n","protected":false},"author":726,"featured_media":114275,"comment_status":"closed","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,348,343,338,350,341,344],"tags":[10598,11504,806,7560,865,977],"contributors-categories":[13654],"class_list":{"0":"post-138442","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science","8":"category-julia-development","9":"category-programing-languages","10":"category-ibkr-quant-news","11":"category-quant-asia-pacific","12":"category-quant-development","13":"category-quant-regions","14":"tag-data-frames","15":"tag-data-manipulation","16":"tag-data-science","17":"tag-data-visualization","18":"tag-github","19":"tag-julia","20":"contributors-categories-quantinsti"},"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Data Manipulation and Visualization Techniques in Julia \u2013 Part IV<\/title>\n<meta name=\"description\" content=\"Julia has a \u201cmissing\u201d object that is used for unavailable data. You can use skipmissing() function to perform operations ignoring the missing values.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/138442\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data Manipulation and Visualization Techniques in Julia \u2013 Part IV | IBKR Quant Blog\" \/>\n<meta property=\"og:description\" content=\"Julia has a \u201cmissing\u201d object that is used for unavailable data. You can use skipmissing() function to perform operations ignoring the missing values.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-31T13:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T14:54:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/quant-connection.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"563\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Anshul Tayal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anshul Tayal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\\\/\\\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"NewsArticle\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Anshul Tayal\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/0245cc6a849222af1786952c9764fb11\"\n\t            },\n\t            \"headline\": \"Data Manipulation and Visualization Techniques in Julia \u2013 Part IV\",\n\t            \"datePublished\": \"2022-05-31T13:00:00+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:54:58+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/\"\n\t            },\n\t            \"wordCount\": 541,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/12\\\/quant-connection.jpg\",\n\t            \"keywords\": [\n\t                \"data frames\",\n\t                \"Data Manipulation\",\n\t                \"Data Science\",\n\t                \"Data Visualization\",\n\t                \"GitHub\",\n\t                \"Julia\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Julia Development\",\n\t                \"Programming Languages\",\n\t                \"Quant\",\n\t                \"Quant Asia Pacific\",\n\t                \"Quant Development\",\n\t                \"Quant Regions\"\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/\",\n\t            \"name\": \"Data Manipulation and Visualization Techniques in Julia \u2013 Part IV | IBKR Quant Blog\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/12\\\/quant-connection.jpg\",\n\t            \"datePublished\": \"2022-05-31T13:00:00+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:54:58+00:00\",\n\t            \"description\": \"Julia has a \u201cmissing\u201d object that is used for unavailable data. You can use skipmissing() function to perform operations ignoring the missing values.\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/data-manipulation-and-visualization-techniques-in-julia-part-iv\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/12\\\/quant-connection.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/12\\\/quant-connection.jpg\",\n\t            \"width\": 1000,\n\t            \"height\": 563,\n\t            \"caption\": \"Quant\"\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"name\": \"IBKR Campus US\",\n\t            \"description\": \"Financial Education from Interactive Brokers\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\",\n\t            \"name\": \"Interactive Brokers\",\n\t            \"alternateName\": \"IBKR\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\n\t                \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"width\": 669,\n\t                \"height\": 669,\n\t                \"caption\": \"Interactive Brokers\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\"\n\t            },\n\t            \"publishingPrinciples\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/about-ibkr-campus\\\/\",\n\t            \"ethicsPolicy\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/cyber-security-notice\\\/\"\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/0245cc6a849222af1786952c9764fb11\",\n\t            \"name\": \"Anshul Tayal\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/anshultayal\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Data Manipulation and Visualization Techniques in Julia \u2013 Part IV","description":"Julia has a \u201cmissing\u201d object that is used for unavailable data. You can use skipmissing() function to perform operations ignoring the missing values.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/138442\/","og_locale":"en_US","og_type":"article","og_title":"Data Manipulation and Visualization Techniques in Julia \u2013 Part IV | IBKR Quant Blog","og_description":"Julia has a \u201cmissing\u201d object that is used for unavailable data. You can use skipmissing() function to perform operations ignoring the missing values.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/","og_site_name":"IBKR Campus US","article_published_time":"2022-05-31T13:00:00+00:00","article_modified_time":"2022-11-21T14:54:58+00:00","og_image":[{"width":1000,"height":563,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/quant-connection.jpg","type":"image\/jpeg"}],"author":"Anshul Tayal","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Anshul Tayal","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/"},"author":{"name":"Anshul Tayal","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/0245cc6a849222af1786952c9764fb11"},"headline":"Data Manipulation and Visualization Techniques in Julia \u2013 Part IV","datePublished":"2022-05-31T13:00:00+00:00","dateModified":"2022-11-21T14:54:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/"},"wordCount":541,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/quant-connection.jpg","keywords":["data frames","Data Manipulation","Data Science","Data Visualization","GitHub","Julia"],"articleSection":["Data Science","Julia Development","Programming Languages","Quant","Quant Asia Pacific","Quant Development","Quant Regions"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/","name":"Data Manipulation and Visualization Techniques in Julia \u2013 Part IV | IBKR Quant Blog","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/quant-connection.jpg","datePublished":"2022-05-31T13:00:00+00:00","dateModified":"2022-11-21T14:54:58+00:00","description":"Julia has a \u201cmissing\u201d object that is used for unavailable data. You can use skipmissing() function to perform operations ignoring the missing values.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/data-manipulation-and-visualization-techniques-in-julia-part-iv\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/quant-connection.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/quant-connection.jpg","width":1000,"height":563,"caption":"Quant"},{"@type":"WebSite","@id":"https:\/\/ibkrcampus.com\/campus\/#website","url":"https:\/\/ibkrcampus.com\/campus\/","name":"IBKR Campus US","description":"Financial Education from Interactive Brokers","publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ibkrcampus.com\/campus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ibkrcampus.com\/campus\/#organization","name":"Interactive Brokers","alternateName":"IBKR","url":"https:\/\/ibkrcampus.com\/campus\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","width":669,"height":669,"caption":"Interactive Brokers"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/"},"publishingPrinciples":"https:\/\/www.interactivebrokers.com\/campus\/about-ibkr-campus\/","ethicsPolicy":"https:\/\/www.interactivebrokers.com\/campus\/cyber-security-notice\/"},{"@type":"Person","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/0245cc6a849222af1786952c9764fb11","name":"Anshul Tayal","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/anshultayal\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/quant-connection.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/138442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/users\/726"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=138442"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/138442\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/114275"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=138442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=138442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=138442"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=138442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}