{"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":"import gc\n\nimport plotly.express as px\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\nfrom PIL import Image","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:49:22.347521Z","iopub.execute_input":"2022-02-12T07:49:22.347912Z","iopub.status.idle":"2022-02-12T07:49:22.353817Z","shell.execute_reply.started":"2022-02-12T07:49:22.347874Z","shell.execute_reply":"2022-02-12T07:49:22.353051Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Load All Required Data","metadata":{}},{"cell_type":"code","source":"articles_df = pd.read_csv('../input/h-and-m-personalized-fashion-recommendations/articles.csv')\ncustomers_df = pd.read_csv('../input/h-and-m-personalized-fashion-recommendations/customers.csv')\ntransactions_df = pd.read_csv('../input/h-and-m-personalized-fashion-recommendations/transactions_train.csv')","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:28:35.538040Z","iopub.execute_input":"2022-02-12T07:28:35.538366Z","iopub.status.idle":"2022-02-12T07:29:59.717822Z","shell.execute_reply.started":"2022-02-12T07:28:35.538320Z","shell.execute_reply":"2022-02-12T07:29:59.716541Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(articles_df.shape)\ndisplay(articles_df.head())","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:29:59.719783Z","iopub.execute_input":"2022-02-12T07:29:59.720074Z","iopub.status.idle":"2022-02-12T07:29:59.779227Z","shell.execute_reply.started":"2022-02-12T07:29:59.720040Z","shell.execute_reply":"2022-02-12T07:29:59.777990Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(customers_df.shape)\ndisplay(customers_df.head())","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:29:59.781891Z","iopub.execute_input":"2022-02-12T07:29:59.782393Z","iopub.status.idle":"2022-02-12T07:29:59.801220Z","shell.execute_reply.started":"2022-02-12T07:29:59.782351Z","shell.execute_reply":"2022-02-12T07:29:59.800370Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(transactions_df.shape)\ndisplay(transactions_df.head())","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:29:59.802381Z","iopub.execute_input":"2022-02-12T07:29:59.803101Z","iopub.status.idle":"2022-02-12T07:29:59.824960Z","shell.execute_reply.started":"2022-02-12T07:29:59.803056Z","shell.execute_reply":"2022-02-12T07:29:59.823743Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Articles EDA","metadata":{}},{"cell_type":"code","source":"articles_df.info()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:29:59.826614Z","iopub.execute_input":"2022-02-12T07:29:59.827012Z","iopub.status.idle":"2022-02-12T07:30:00.022981Z","shell.execute_reply.started":"2022-02-12T07:29:59.826978Z","shell.execute_reply":"2022-02-12T07:30:00.021799Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"articles_df.shape","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:00.024926Z","iopub.execute_input":"2022-02-12T07:30:00.025583Z","iopub.status.idle":"2022-02-12T07:30:00.033607Z","shell.execute_reply.started":"2022-02-12T07:30:00.025529Z","shell.execute_reply":"2022-02-12T07:30:00.032527Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"articles_df.columns\n","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:00.035299Z","iopub.execute_input":"2022-02-12T07:30:00.035607Z","iopub.status.idle":"2022-02-12T07:30:00.052436Z","shell.execute_reply.started":"2022-02-12T07:30:00.035571Z","shell.execute_reply":"2022-02-12T07:30:00.050929Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"articles_df.nunique() # unique items in each column start with columns with less unique values","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:00.054250Z","iopub.execute_input":"2022-02-12T07:30:00.055027Z","iopub.status.idle":"2022-02-12T07:30:00.239369Z","shell.execute_reply.started":"2022-02-12T07:30:00.054961Z","shell.execute_reply":"2022-02-12T07:30:00.238761Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## `index_group_name` column","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(12,9))\nsns.countplot(data=articles_df, x='index_group_name')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:00.241902Z","iopub.execute_input":"2022-02-12T07:30:00.242252Z","iopub.status.idle":"2022-02-12T07:30:00.562288Z","shell.execute_reply.started":"2022-02-12T07:30:00.242221Z","shell.execute_reply":"2022-02-12T07:30:00.561661Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"* `index_group_name`  == `index_group_no` \n* `index_group_no` we can consider as label encoding of `index_group_name`\n* Highest available products are from Ladieswear\n* Least are sports wear","metadata":{}},{"cell_type":"code","source":"print(articles_df[articles_df['index_group_no'] == 1]['index_group_name'].unique()) # 1\nprint(articles_df[articles_df['index_group_no'] == 2]['index_group_name'].unique()) # 2\nprint(articles_df[articles_df['index_group_no'] == 3]['index_group_name'].unique()) # 3\nprint(articles_df[articles_df['index_group_no'] == 4]['index_group_name'].unique()) # 4\nprint(articles_df[articles_df['index_group_no'] == 26]['index_group_name'].unique()) # 26","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:00.563412Z","iopub.execute_input":"2022-02-12T07:30:00.563770Z","iopub.status.idle":"2022-02-12T07:30:00.617233Z","shell.execute_reply.started":"2022-02-12T07:30:00.563730Z","shell.execute_reply":"2022-02-12T07:30:00.616377Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## `index_name` grouped with `index_group_name`","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(20, 10))\nsns.histplot(data=articles_df, y='index_group_name', hue='index_name', multiple='stack', shrink=.5)\nfig.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:00.618663Z","iopub.execute_input":"2022-02-12T07:30:00.619725Z","iopub.status.idle":"2022-02-12T07:30:01.714450Z","shell.execute_reply.started":"2022-02-12T07:30:00.619651Z","shell.execute_reply":"2022-02-12T07:30:01.713547Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"* Ladieswear has 3 sections\n* Baby/Children has 4 sections\n* Rest all have 1 section each","metadata":{}},{"cell_type":"markdown","source":"## Perceived Colour Count","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(12,9))\nsns.countplot(data=articles_df, x='perceived_colour_value_name')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:01.716006Z","iopub.execute_input":"2022-02-12T07:30:01.716527Z","iopub.status.idle":"2022-02-12T07:30:02.023869Z","shell.execute_reply.started":"2022-02-12T07:30:01.716480Z","shell.execute_reply":"2022-02-12T07:30:02.022682Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Grament Type ","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(20, 10))\nsns.histplot(data=articles_df, y='garment_group_name', hue='index_group_name', multiple='stack', shrink=.5)\nfig.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:02.025312Z","iopub.execute_input":"2022-02-12T07:30:02.025591Z","iopub.status.idle":"2022-02-12T07:30:03.127071Z","shell.execute_reply.started":"2022-02-12T07:30:02.025561Z","shell.execute_reply":"2022-02-12T07:30:03.126128Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Product Group Count Plot","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(20, 10))\nsns.countplot(data=articles_df, y='product_group_name')\nfig.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:03.128522Z","iopub.execute_input":"2022-02-12T07:30:03.128804Z","iopub.status.idle":"2022-02-12T07:30:03.641859Z","shell.execute_reply.started":"2022-02-12T07:30:03.128770Z","shell.execute_reply":"2022-02-12T07:30:03.641030Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Top 20 Products in Inventory","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(20, 10))\narticles_df['prod_name'].value_counts(ascending=False)[:20].plot(kind='barh')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:03.643327Z","iopub.execute_input":"2022-02-12T07:30:03.643650Z","iopub.status.idle":"2022-02-12T07:30:04.027528Z","shell.execute_reply.started":"2022-02-12T07:30:03.643612Z","shell.execute_reply":"2022-02-12T07:30:04.026676Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Customers EDA","metadata":{}},{"cell_type":"code","source":"customers_df","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:04.029311Z","iopub.execute_input":"2022-02-12T07:30:04.029893Z","iopub.status.idle":"2022-02-12T07:30:04.060617Z","shell.execute_reply.started":"2022-02-12T07:30:04.029840Z","shell.execute_reply":"2022-02-12T07:30:04.059398Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"customers_df.info()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:04.062315Z","iopub.execute_input":"2022-02-12T07:30:04.062924Z","iopub.status.idle":"2022-02-12T07:30:04.721407Z","shell.execute_reply.started":"2022-02-12T07:30:04.062881Z","shell.execute_reply":"2022-02-12T07:30:04.720259Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"customers_df.describe()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:04.723583Z","iopub.execute_input":"2022-02-12T07:30:04.724061Z","iopub.status.idle":"2022-02-12T07:30:04.939541Z","shell.execute_reply.started":"2022-02-12T07:30:04.724022Z","shell.execute_reply":"2022-02-12T07:30:04.938380Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Customers Age Distribution","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(12, 9))\nsns.histplot(customers_df, x='age', bins=70, kde=True, hue='fashion_news_frequency')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:04.941994Z","iopub.execute_input":"2022-02-12T07:30:04.942359Z","iopub.status.idle":"2022-02-12T07:30:14.715661Z","shell.execute_reply.started":"2022-02-12T07:30:04.942311Z","shell.execute_reply":"2022-02-12T07:30:14.714696Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"* There are two prominent spikes in ages between `20-30` and `45-60`.\n* Same ages also are update with fashion news frequency.\n* Monthly and None are very low we cannot see them in graph.","metadata":{}},{"cell_type":"code","source":"customers_df['fashion_news_frequency'].value_counts().plot(kind='barh')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:14.717097Z","iopub.execute_input":"2022-02-12T07:30:14.717363Z","iopub.status.idle":"2022-02-12T07:30:15.109182Z","shell.execute_reply.started":"2022-02-12T07:30:14.717330Z","shell.execute_reply":"2022-02-12T07:30:15.108233Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"customers_df['club_member_status'].value_counts().plot(kind='barh')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:15.110528Z","iopub.execute_input":"2022-02-12T07:30:15.110790Z","iopub.status.idle":"2022-02-12T07:30:15.491382Z","shell.execute_reply.started":"2022-02-12T07:30:15.110757Z","shell.execute_reply":"2022-02-12T07:30:15.490212Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"customers_df['postal_code'].value_counts(ascending=False)","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:15.493166Z","iopub.execute_input":"2022-02-12T07:30:15.493409Z","iopub.status.idle":"2022-02-12T07:30:16.522013Z","shell.execute_reply.started":"2022-02-12T07:30:15.493379Z","shell.execute_reply":"2022-02-12T07:30:16.521052Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"* Almost all customers come from `2c29ae653a9282cce4151bd87643c907644e09541abc28ae87dea0d1f6603b1c` this postal code","metadata":{}},{"cell_type":"markdown","source":"# Transaction Data EDA","metadata":{}},{"cell_type":"code","source":"transactions_df.head()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:16.523360Z","iopub.execute_input":"2022-02-12T07:30:16.523616Z","iopub.status.idle":"2022-02-12T07:30:16.538038Z","shell.execute_reply.started":"2022-02-12T07:30:16.523587Z","shell.execute_reply":"2022-02-12T07:30:16.536837Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"transactions_df.info()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:16.539727Z","iopub.execute_input":"2022-02-12T07:30:16.539990Z","iopub.status.idle":"2022-02-12T07:30:16.557230Z","shell.execute_reply.started":"2022-02-12T07:30:16.539957Z","shell.execute_reply":"2022-02-12T07:30:16.556391Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"transactions_df['t_dat'] = pd.to_datetime(transactions_df['t_dat'])","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:16.558540Z","iopub.execute_input":"2022-02-12T07:30:16.559178Z","iopub.status.idle":"2022-02-12T07:30:23.036686Z","shell.execute_reply.started":"2022-02-12T07:30:16.559135Z","shell.execute_reply":"2022-02-12T07:30:23.035682Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Transcations Data as TIME SERIES data ","metadata":{}},{"cell_type":"code","source":"time_series_df = transactions_df.groupby('t_dat')['price'].sum().reset_index()\ntime_series_df['year'] = time_series_df['t_dat'].apply(lambda x: x.year)\ntime_series_df['month'] = time_series_df['t_dat'].apply(lambda x: x.month)\ntime_series_df['day_of_week'] = time_series_df['t_dat'].apply(lambda x: x.day_of_week)\ntime_series_df","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:23.038044Z","iopub.execute_input":"2022-02-12T07:30:23.038312Z","iopub.status.idle":"2022-02-12T07:30:23.826379Z","shell.execute_reply.started":"2022-02-12T07:30:23.038280Z","shell.execute_reply":"2022-02-12T07:30:23.825509Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"fig = px.line(time_series_df, x='t_dat', y='price', title='Sales as Time Series')\n\nfig.update_xaxes(rangeslider_visible=True)\nfig.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:23.830817Z","iopub.execute_input":"2022-02-12T07:30:23.831118Z","iopub.status.idle":"2022-02-12T07:30:25.228260Z","shell.execute_reply.started":"2022-02-12T07:30:23.831083Z","shell.execute_reply":"2022-02-12T07:30:25.227122Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"* Big Spikes on April, Sep, Nov months.","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(12, 4))\ntransactions_df['sales_channel_id'].value_counts().plot(kind='barh', color='skyblue') # channel 2 sales are higher\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:30:25.229798Z","iopub.execute_input":"2022-02-12T07:30:25.230078Z","iopub.status.idle":"2022-02-12T07:30:25.566824Z","shell.execute_reply.started":"2022-02-12T07:30:25.230034Z","shell.execute_reply":"2022-02-12T07:30:25.565522Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Its time to merge articles with transactions data and see sales of each product \n* Don't merge directly on two dataframes\n* first group by `article_id` in transactions.\n* then merge with `articles_df` or else you will run out of memory.","metadata":{}},{"cell_type":"code","source":"prod_sales = transactions_df.groupby('article_id')['price'].sum().reset_index()\nprod_sales['total_sales'] = prod_sales['price']\nprod_sales.drop(columns=['price'], inplace=True)\nprod_sales = prod_sales.merge(articles_df, how='left', on='article_id')\nprod_sales","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:41:21.810495Z","iopub.execute_input":"2022-02-12T07:41:21.811508Z","iopub.status.idle":"2022-02-12T07:41:23.194329Z","shell.execute_reply.started":"2022-02-12T07:41:21.811414Z","shell.execute_reply":"2022-02-12T07:41:23.193354Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"top_20_articles_sold = prod_sales.sort_values(ascending=False, by='total_sales')[:20].reset_index(drop=True)","metadata":{"execution":{"iopub.status.busy":"2022-02-12T07:58:44.555141Z","iopub.execute_input":"2022-02-12T07:58:44.555538Z","iopub.status.idle":"2022-02-12T07:58:44.638196Z","shell.execute_reply.started":"2022-02-12T07:58:44.555501Z","shell.execute_reply":"2022-02-12T07:58:44.637276Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plot_images(image_article_df, rows, cols):\n    fig,ax =  plt.subplots(rows, cols, figsize=(25, 15))\n    k = 0\n    for i in range(rows):\n        for j in range(cols):\n            article_id = image_article_df.loc[k, 'article_id']\n            file_path = f\"../input/h-and-m-personalized-fashion-recommendations/images/0{str(article_id)[:2]}/0{str(article_id)}.jpg\"\n            image = Image.open(file_path)\n            ax[i][j].imshow(image)\n            ax[i][j].set_title(image_article_df.loc[k, 'prod_name'])\n            k += 1\n    # plt.tight_layout()\n    plt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T08:14:11.925768Z","iopub.execute_input":"2022-02-12T08:14:11.926105Z","iopub.status.idle":"2022-02-12T08:14:11.934351Z","shell.execute_reply.started":"2022-02-12T08:14:11.926069Z","shell.execute_reply":"2022-02-12T08:14:11.933098Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Top 20 Products in Sales","metadata":{}},{"cell_type":"code","source":"plot_images(top_20_articles_sold, 4, 5)","metadata":{"execution":{"iopub.status.busy":"2022-02-12T08:14:14.281588Z","iopub.execute_input":"2022-02-12T08:14:14.281901Z","iopub.status.idle":"2022-02-12T08:14:21.729172Z","shell.execute_reply.started":"2022-02-12T08:14:14.281869Z","shell.execute_reply":"2022-02-12T08:14:21.728503Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Percentage of Sales by Index Group and hue with index_name ","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(15, 9))\nsns.histplot(prod_sales, y='index_group_name', hue='index_name', multiple='stack', shrink=0.6)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T09:02:25.842692Z","iopub.execute_input":"2022-02-12T09:02:25.843052Z","iopub.status.idle":"2022-02-12T09:02:26.685757Z","shell.execute_reply.started":"2022-02-12T09:02:25.843018Z","shell.execute_reply":"2022-02-12T09:02:26.685038Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"* Obiviously Ladieswear will always have high sales.\n* Children Sizes 92-140 have more sales in children section.","metadata":{}},{"cell_type":"markdown","source":"## Top 20 Product Sales","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(20, 9))\nsns.barplot(data=prod_sales.groupby(['prod_name'])['total_sales'].sum().sort_values(ascending=False)[:20].reset_index(),\n            y='prod_name', x='total_sales',)\nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T08:33:38.496824Z","iopub.execute_input":"2022-02-12T08:33:38.497202Z","iopub.status.idle":"2022-02-12T08:33:39.055094Z","shell.execute_reply.started":"2022-02-12T08:33:38.497161Z","shell.execute_reply":"2022-02-12T08:33:39.054262Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Log Scale Distribution of Total Sales","metadata":{}},{"cell_type":"code","source":"fig = plt.figure(figsize=(12, 9))\nsns.histplot(data=prod_sales, x='total_sales', hue='index_group_name', bins=15, multiple='stack', log_scale=True)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-02-12T08:46:15.567697Z","iopub.execute_input":"2022-02-12T08:46:15.568384Z","iopub.status.idle":"2022-02-12T08:46:16.772255Z","shell.execute_reply.started":"2022-02-12T08:46:15.568339Z","shell.execute_reply":"2022-02-12T08:46:16.770923Z"},"trusted":true},"execution_count":null,"outputs":[]}]}