{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"from IPython.display import Image\nImage(\"/kaggle/input/tabular-data-eassy-elements/Learn Data Science.png\")","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-07-09T20:14:40.538246Z","iopub.execute_input":"2023-07-09T20:14:40.538954Z","iopub.status.idle":"2023-07-09T20:14:40.574418Z","shell.execute_reply.started":"2023-07-09T20:14:40.538924Z","shell.execute_reply":"2023-07-09T20:14:40.573643Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":">Discover how tabular data space is being transformed by Kaggle competitions, the open-source community, and generative AI.","metadata":{}},{"cell_type":"markdown","source":"# Introduction\nTabular data refers to data organized into rows and columns. It encompasses everything from CSV files and spreadsheets to relational databases. Tabular data has been around for decades and is one of the most common data types used in data analysis and machine learning.\n\nTraditionally, tabular data has been used for simply organizing and reporting information. However, over the past decade its usage has evolved significantly due to several key factors:\n\n- **Kaggle Competitions**: Kaggle emerged in 2010 [1] and popularized data science and machine learning competitions using real-world tabular datasets. This exposed many data scientists and machine learning engineers to the power of analyzing and building models on tabular data.\n\n- **Open-source Contributions**: Thanks to major open-source libraries like Pandas, DuckDB, SDV, and Scikit-learn, manipulating, preprocessing, and building predictive models on tabular data is now incredibly easy. Additionally, open-source datasets provide beginners with easy access to practice on real-world datasets.\n\n- **Generative AI**: Recent advances in generative AI, especially large language models, now enable the generation of realistic tabular data and made it easy for basiscally anyone to conduct Data analaysis and build machine learning applications. \n\nIn the essay, we will discuss each of these factors in more detail and look at examples of how companies and researchers are using tabular data in innovative ways today. The main takeaway will be the importance of analyzing and preparing tabular data the right way to reap the benefits of machine learning and AI.","metadata":{}},{"cell_type":"markdown","source":"# Tabular Data Kaggle Competitions\nThe Kaggle Competition has profoundly impacted the field of data science and machine learning engineering. Additionally, Tabular competitions have introduced new techniques, tools, and various tabular tasks.\n\nIn addition to the learning and knowledge development, winning competitions often comes with cash prizes, providing further motivation for participation. For example:\n\n- On average, Kaggle competitions offer prize money of around $21,246 and have approximately 1,498 participating teams.\n\n- The largest cash prizes have been as high as $125,000, giving the winners a significant incentive to go the extra mile and push the boundaries of what's possible with tabular data.","metadata":{}},{"cell_type":"code","source":"import pandas as pd\n\ncomptags = pd.read_csv(\"/kaggle/input/meta-kaggle/CompetitionTags.csv\")\ntags = pd.read_csv(\"/kaggle/input/meta-kaggle/Tags.csv\")\ncomps = pd.read_csv(\"/kaggle/input/meta-kaggle/Competitions.csv\")\n\n\ntabular_competition_ids = comptags.query(\"TagId == 14101\")['CompetitionId']\ntabular_competitions = comps.set_index('Id').loc[tabular_competition_ids]\ntabular_competitions.describe()[[\"RewardQuantity\",\"TotalTeams\"]]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-07-09T20:14:40.576102Z","iopub.execute_input":"2023-07-09T20:14:40.576880Z","iopub.status.idle":"2023-07-09T20:14:40.773128Z","shell.execute_reply.started":"2023-07-09T20:14:40.576845Z","shell.execute_reply":"2023-07-09T20:14:40.772221Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import plotly.express as px\n\ntabular_competitions[\"EnabledDate\"] = pd.to_datetime(\n    tabular_competitions[\"EnabledDate\"], format=\"%m/%d/%Y %H:%M:%S\"\n)\ntabular_competitions[\"EnabledDate\"] = tabular_competitions[\"EnabledDate\"].dt.year\ntabular_competitions.sort_values(by=\"EnabledDate\", inplace=True)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-07-09T20:14:40.774223Z","iopub.execute_input":"2023-07-09T20:14:40.774523Z","iopub.status.idle":"2023-07-09T20:14:41.479483Z","shell.execute_reply.started":"2023-07-09T20:14:40.774498Z","shell.execute_reply":"2023-07-09T20:14:41.478651Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Over the last decade, Kaggle has hosted numerous competitions centered around tabular data, with several since 2015 offering cash prizes of up to $100,000 for the winning team. ","metadata":{}},{"cell_type":"code","source":"fig = px.bar(\n    tabular_competitions,\n    x=\"EnabledDate\",\n    y=\"RewardQuantity\",\n    title=\"Reward Distribution of Tabular Competitions over the Years\",\n    labels={\"RewardQuantity\": \"Prize Money($)\", \"EnabledDate\": \"Year\"},\n)\nfig.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-07-09T20:14:41.481490Z","iopub.execute_input":"2023-07-09T20:14:41.481762Z","iopub.status.idle":"2023-07-09T20:14:42.960053Z","shell.execute_reply.started":"2023-07-09T20:14:41.481739Z","shell.execute_reply":"2023-07-09T20:14:42.959120Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"The number of tabular data competitions has grown significantly over this period, with particularly high activity in 2015 and 2022.","metadata":{}},{"cell_type":"code","source":"fig = px.histogram(\n    tabular_competitions,\n    x=\"EnabledDate\",\n    nbins=20,\n    title=\"Number of Tabular Competitions over the Years\",\n    labels={\"EnabledDate\": \"Year\"},\n)\nfig.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-07-09T20:14:42.961812Z","iopub.execute_input":"2023-07-09T20:14:42.962215Z","iopub.status.idle":"2023-07-09T20:14:43.062930Z","shell.execute_reply.started":"2023-07-09T20:14:42.962181Z","shell.execute_reply":"2023-07-09T20:14:43.061944Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Tabular Playground Series\nDue to the large demand for tabular data problems, the Kaggle staff started an experiment in 2021 [2] by launching a monthly contest called the Tabular Playground Series. These competitions aimed to provide a consistent platform for competitors to hone their skills on tabular data.\n\nThe Tabular Playground Series contests were based on synthetic datasets that replicated the structure of public data or data from previous Kaggle competitions. The synthetic datasets were created using a deep learning generative network called CTGAN.[3]\n\n- **Exposure:** Many machine learning practitioners got their first exposure to working with tabular data through Tabular Playground Series. This helped familiarize them with concepts like data loading, feature engineering, and model tuning.\n\n- **Techniques:** Kaggle competitions showcased techniques like feature engineering, data augmentation, and ensemble modeling that are particularly useful for tabular data. Competitors used these techniques to achieve higher scores, setting examples for others.\n\n- **Community:** The discussions within Kaggle competitions provided a fertile ground for sharing techniques and ideas on how to best handle tabular data. This helped form a community of practice around tabular data.\n\n- **Democratization:** Kaggle competitions have made machine learning on tabular data more accessible to a wider audience, not just data experts. Participants get free access to both CPU and GPU, as well as to large datasets, and anyone is welcome to participate in the competition.","metadata":{}},{"cell_type":"code","source":"Image(\"/kaggle/input/tabular-data-eassy-elements/playground.png\")","metadata":{"execution":{"iopub.status.busy":"2023-07-09T20:14:43.064352Z","iopub.execute_input":"2023-07-09T20:14:43.065047Z","iopub.status.idle":"2023-07-09T20:14:43.102906Z","shell.execute_reply.started":"2023-07-09T20:14:43.065011Z","shell.execute_reply":"2023-07-09T20:14:43.101903Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Image from [playground-series-s3e18](https://www.kaggle.com/competitions/playground-series-s3e18)","metadata":{}},{"cell_type":"markdown","source":"The Tabular Playground Series is still ongoing, currently in Season 3 with Episode 18. This demonstrates that cash prizes are not the only motivation for participants, as these competitions do not offer any monetary prizes or points systems. Rather, the series caters to data enthusiasts who want to hone their skills by practicing on various types of tabular data.","metadata":{}},{"cell_type":"markdown","source":"## Competition Solutions\nExamination of winning solutions has revealed that fancy tools or deep learning models are not necessary to place highly. Even simpler models like linear regression, with careful feature engineering, can win prizes. The key is finding simple yet effective techniques for solving the given problem.\n\nFor example, the winner [4] of the GoDaddy - Microbusiness Density Forecasting competition [5] used Linear Regression. This is unsurprising as winning solutions are often based on simple models but involve extensive feature selection, cross-validation, data augmentation, and ensemble techniques.","metadata":{}},{"cell_type":"code","source":"Image(\"/kaggle/input/tabular-data-eassy-elements/solutions.png\")","metadata":{"execution":{"iopub.status.busy":"2023-07-09T20:14:43.103844Z","iopub.execute_input":"2023-07-09T20:14:43.104193Z","iopub.status.idle":"2023-07-09T20:14:43.122010Z","shell.execute_reply.started":"2023-07-09T20:14:43.104158Z","shell.execute_reply":"2023-07-09T20:14:43.120892Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Image from [Farid](https://farid.one/kaggle-solutions/)","metadata":{}},{"cell_type":"markdown","source":"# Tabular Data Open-source Contributions \nOpen-source contributions related to tabular data have been invaluable for advancing the field and enabling real-world applications. Contributions fall into two main categories:\n1. Open-source Datasets\n2. Open-source Tools","metadata":{}},{"cell_type":"markdown","source":"## Open-source Datasets\nKaggle owes its success to the generous contributions of open-source contributors who share real-world tabular datasets for machine learning problems. These datasets, covering various domains and use cases, provide valuable training and benchmarking data for the machine learning community. Numerous companies and organizations have openly contributed their proprietary tabular data to advance the field. The remarkable number and diversity of datasets available on Kaggle have been an essential driver for innovation in working with tabular data.\n\nKaggle dataset [6] is the go-to place for beginners and experts alike who are looking for specific datasets. Its vast collection of tabular datasets is helping hundreds of community members daily to practice new techniques and handle new types of data.","metadata":{}},{"cell_type":"code","source":"Image(\"/kaggle/input/tabular-data-eassy-elements/dataset.png\")","metadata":{"execution":{"iopub.status.busy":"2023-07-09T20:14:43.123215Z","iopub.execute_input":"2023-07-09T20:14:43.123581Z","iopub.status.idle":"2023-07-09T20:14:43.145527Z","shell.execute_reply.started":"2023-07-09T20:14:43.123548Z","shell.execute_reply":"2023-07-09T20:14:43.144877Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Image from [Kaggle](https://www.kaggle.com/datasets)","metadata":{}},{"cell_type":"markdown","source":"## Open-Source Tools\nSeveral major open-source tools for analyzing, manipulating and modeling tabular data have been made possible by the contributions of developer communities. Tools like Pandas, Numpy, scikit-learn, TensorFlow, XGBoost and many others have been crucial enablers for working with tabular data at scale. These libraries provide a comprehensive set of functionalities that have made tabular data machine learning accessible to a wide audience. Ongoing community contributions ensure the tools continue to improve and keep pace with new requirements.\n\nAdditionally, there are now efficient tools available such as DuckDB and PySpark that offer a user-friendly yet powerful way to analyze and process large tabular datasets.","metadata":{}},{"cell_type":"code","source":"%pip install duckdb -q","metadata":{"_kg_hide-output":true,"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-07-09T20:14:43.146729Z","iopub.execute_input":"2023-07-09T20:14:43.147030Z","iopub.status.idle":"2023-07-09T20:14:55.894324Z","shell.execute_reply.started":"2023-07-09T20:14:43.147005Z","shell.execute_reply":"2023-07-09T20:14:55.893303Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"With DuckDB, you can easily import a CSV file and run SQL queries in just seconds.","metadata":{}},{"cell_type":"code","source":"import duckdb\n\nduckdb.sql('SELECT * FROM \"/kaggle/input/meta-kaggle/Competitions.csv\" LIMIT 5')","metadata":{"execution":{"iopub.status.busy":"2023-07-09T20:14:55.898856Z","iopub.execute_input":"2023-07-09T20:14:55.899170Z","iopub.status.idle":"2023-07-09T20:14:56.302080Z","shell.execute_reply.started":"2023-07-09T20:14:55.899138Z","shell.execute_reply":"2023-07-09T20:14:56.301015Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Perform quick and multiple actions on tabular data using Python Relational API. Its syntax is similar to pandas, making it easy to use.","metadata":{}},{"cell_type":"code","source":"rel = duckdb.read_csv('/kaggle/input/meta-kaggle/Competitions.csv')\nrel.filter(\"RewardQuantity > 100000\").project(\n    \"EnabledDate,RewardQuantity\"\n).order(\"RewardQuantity\").limit(5)","metadata":{"execution":{"iopub.status.busy":"2023-07-09T20:14:56.303325Z","iopub.execute_input":"2023-07-09T20:14:56.304289Z","iopub.status.idle":"2023-07-09T20:14:57.084716Z","shell.execute_reply.started":"2023-07-09T20:14:56.304249Z","shell.execute_reply":"2023-07-09T20:14:57.083791Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Generative AI for Tabular Data\n\nGenerative AI is a subfield of artificial intelligence powered by neural networks like Variational Autoencoders and Generative Adversarial Networks (GANs) that can generate photorealistic images, compose original pieces of music, write news articles and stories, and even design objects. It is trained on large datasets, allowing Generative AI models to discover the underlying patterns, structures, and statistical distributions present in the data. \n\nGenerative AI models have significantly progressed the field of working with tabular data. Capabilities like data augmentation, anomaly detection and synthetic data generation have helped tackle issues like data scarcity, privacy and bias.\n\nHowever, recent advances like ChatGPT and other large language models (LLMs) are now also being used as assistants for tabular data tasks. Some of the ways generative AI is transforming our workflows include:\n\n- **Code assistance:** LLMs like ChatGPT can help with coding tasks like feature engineering, preprocessing, modeling and evaluating machine learning pipelines for tabular data. They can suggest code snippets, functions and entire scripts.\n\n- **Data understanding:** Generative AI can provide insights into the data distributions, correlations, missing values, outliers, target variables and more. \n\n- **Deep analysis:** It perform statistical tests, create visualizations and derive other summary metrics that give practitioners a thorough analysis of tabular datasets to inform modeling decisions.\n\n- **Web scraping:** Generative AI tools can help you scrape new tabular data from websites / application, assisting with data acquisition tasks.\n\nWhile issues like safety, bias and narrow capability remain, large language models are beginning to transform how data scientists and machine learning engineers work with tabular data on a day-to-day basis. They are increasingly becoming assistants that handle various analytical and coding tasks, freeing up practitioners to focus on higher-level work.","metadata":{}},{"cell_type":"markdown","source":"## ChatGPT for Tabular Data\nChatGPT [7] has rapidly become an invaluable assistant for nearly every stage of working with tabular data, from helping with data cleaning and feature engineering to generating complex model code, interpreting metrics, producing data analysis reports, and even aiding in synthetic data generation for tasks like data augmentation and anomaly detection.\n\nWith ChatGPT, you can easily build and train a machine learning model by simply typing a detailed prompt. Additionally, you can utilize multiple plugins to automate complex tasks such as running the code and getting internet access.\n\nCheck out \"A Guide to Using ChatGPT For Data Science Projects\"[8] to learn how  to use ChatGPT in a real-life end-to-end data science project.","metadata":{}},{"cell_type":"code","source":"Image(\"/kaggle/input/tabular-data-eassy-elements/chatgpt.png\")","metadata":{"execution":{"iopub.status.busy":"2023-07-09T20:14:57.085752Z","iopub.execute_input":"2023-07-09T20:14:57.086044Z","iopub.status.idle":"2023-07-09T20:14:57.097523Z","shell.execute_reply.started":"2023-07-09T20:14:57.086020Z","shell.execute_reply":"2023-07-09T20:14:57.096686Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Generative AI tools for Tabular Data\n\nGenerative AI tools, such as PandasAI [9], have made data analysis, dataset cleaning, and data visualization extremely easy for anyone. These tools use large language models like gpt-3.5-turbo [10] to generate insightful results. Additionally, you can also connect with open-source models hosted on Hugging Face to perform AI analysis.","metadata":{}},{"cell_type":"code","source":"%pip install pandasai -q\n\nfrom kaggle_secrets import UserSecretsClient\nfrom pandasai import PandasAI\nfrom pandasai.llm.openai import OpenAI\n\nuser_secrets = UserSecretsClient()\nsecret_value_0 = user_secrets.get_secret(\"OPENAI_API_KEY\")\n\nllm = OpenAI(api_token=secret_value_0)\n\npandas_ai = PandasAI(llm)","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2023-07-09T20:14:57.098556Z","iopub.execute_input":"2023-07-09T20:14:57.098885Z","iopub.status.idle":"2023-07-09T20:15:22.866677Z","shell.execute_reply.started":"2023-07-09T20:14:57.098809Z","shell.execute_reply":"2023-07-09T20:15:22.865773Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"To see the top five competitions with the highest RewardQuantity, we asked ChatGPT to display them by typing a prompt.","metadata":{}},{"cell_type":"code","source":"pandas_ai.run(tabular_competitions, prompt='Can you provide a list of the top five competitions with the highest RewardQuantity? Please only show the name of the competition,Date,and the corresponding reward.')","metadata":{"execution":{"iopub.status.busy":"2023-07-09T20:15:22.867926Z","iopub.execute_input":"2023-07-09T20:15:22.869273Z","iopub.status.idle":"2023-07-09T20:15:27.703253Z","shell.execute_reply.started":"2023-07-09T20:15:22.869234Z","shell.execute_reply":"2023-07-09T20:15:27.702153Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"You can even ask it to perform complex tasks or generate visualizations.","metadata":{}},{"cell_type":"code","source":"pandas_ai.run(tabular_competitions, prompt='Please list all the competition which has \"Market\" in it.')","metadata":{"execution":{"iopub.status.busy":"2023-07-09T20:15:27.704664Z","iopub.execute_input":"2023-07-09T20:15:27.705524Z","iopub.status.idle":"2023-07-09T20:15:29.824928Z","shell.execute_reply.started":"2023-07-09T20:15:27.705487Z","shell.execute_reply":"2023-07-09T20:15:29.824006Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"This is just the beginning, as we will see many new AI tools that make data scientists and developers lives easier by automating tasks and providing assistance.","metadata":{}},{"cell_type":"markdown","source":"# Conclusion \n\nWhile significant progress has been made in leveraging tabular data for machine learning and AI applications, we have likely only seen the beginning. In the future, we can expect new powerful tools driven by advanced AI agents [11] that will automate the entire workflow for tabular machine learning tasks - from data ingestion and cleaning to feature engineering, model training, evaluation and deployment in web applications. With continued advances in generative AI and natural language processing, these agents will be able to take high-level prompts to complete entire tabular data science projects, from data to insights.\n\nThis essay highlights the significant impact of Kaggle competitions, open-source communities, and generative AI on our approach to working with tabular data for tasks such as data analysis and machine learning. To delve deeper into the topic, you can read the winning essays from the 2023 Kaggle AI Report competition.[12]","metadata":{}},{"cell_type":"markdown","source":"## Reference ","metadata":{}},{"cell_type":"markdown","source":"[1] Wikipedia contributors, “Kaggle,” Wikipedia, Jun. 2023, [Online]. Available: https://en.wikipedia.org/wiki/Kaggle\n\n[2] “Tabular Playground Series - Jan 2021 | Kaggle.” https://www.kaggle.com/competitions/tabular-playground-series-jan-2021\n\n[3] Sdv-Dev, “GitHub - sdv-dev/CTGAN: Conditional GAN for generating synthetic tabular data.,” GitHub. https://github.com/sdv-dev/CTGAN\n\n[4] KAGGLEQRDL, “#1 solution - generalization with linear regression,” Mar. 16, 2023. https://www.kaggle.com/competitions/godaddy-microbusiness-density-forecasting/discussion/395131\n\n[5] “GoDaddy - Microbusiness Density Forecasting | Kaggle,” Dec. 15, 2022. https://www.kaggle.com/competitions/godaddy-microbusiness-density-forecasting/overview\n\n[6] “Find Open Datasets and Machine Learning Projects | Kaggle.” https://www.kaggle.com/datasets\n\n[7] “Introducing ChatGPT,” OpenAI, Nov. 30, 2022. https://openai.com/blog/chatgpt\n\n[8] A. A. Awan, “A Guide to Using ChatGPT For Data Science Projects,” Mar. 2023, [Online]. Available: https://www.datacamp.com/tutorial/chatgpt-data-science-projects\n\n[9] Gventuri, “GitHub - gventuri/pandas-ai: Pandas AI is a Python library that integrates generative artificial intelligence capabilities into Pandas, making dataframes conversational,” GitHub. https://github.com/gventuri/pandas-ai\n\n[10] “GPT-3.5,” OpenAI. https://platform.openai.com/docs/models/gpt-3-5\n\n[11] R. Cotton, “Introduction to AI Agents: Getting Started With Auto-GPT, AgentGPT, and BabyAGI,” May 2023, [Online]. Available: https://www.datacamp.com/tutorial/introduction-to-ai-agents-autogpt-agentgpt-babyagi\n\n[12] “2023 Kaggle AI Report.” May 2023, [Online]. Available: https://www.kaggle.com/competitions/2023-kaggle-ai-report/leaderboard","metadata":{}},{"cell_type":"markdown","source":"## Submission","metadata":{}},{"cell_type":"code","source":"import pandas as pd\nsub = pd.read_csv(\"/kaggle/input/2023-kaggle-ai-report/sample_submission.csv\")\nsub.iloc[0,1] = \"Tabular and/or time series data\"\nsub.iloc[1,1] = \"https://www.kaggle.com/code/kingabzpro/from-analysis-to-ai-the-journey-of-tabular-data\"\nsub.iloc[2,1] = \"https://www.kaggle.com/code/rhysie/learnings-from-the-typical-tabular-pipeline/comments#2330407\"\nsub.iloc[3,1] = \"https://www.kaggle.com/code/lrsowmya/kaggle-empowering-data-enthusiasts-to-learn-by-do/comments#2330413\"\nsub.iloc[4,1] = \"https://www.kaggle.com/code/lalexanderw/the-open-question-tabular-processing/comments#2330420\"\nsub.to_csv(\"submission.csv\",index=False)\nsub.head()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-07-09T20:15:29.826188Z","iopub.execute_input":"2023-07-09T20:15:29.826477Z","iopub.status.idle":"2023-07-09T20:15:29.846918Z","shell.execute_reply.started":"2023-07-09T20:15:29.826452Z","shell.execute_reply":"2023-07-09T20:15:29.846003Z"},"trusted":true},"execution_count":null,"outputs":[]}]}