{"id":2984221,"date":"2026-10-06T18:05:38","date_gmt":"2026-10-07T01:05:38","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2984221"},"modified":"2026-10-06T19:41:35","modified_gmt":"2026-10-07T02:41:35","slug":"an-introduction-to-python-in-excel-with-arcgis-for-excel","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel","title":{"rendered":"An Introduction to Python in Excel with ArcGIS for Excel"},"author":252692,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341,37101,22941],"tags":[766102,761562,31601,781258,25631],"industry":[],"product":[766382,770122],"class_list":["post-2984221","blog","type-blog","status-publish","format-standard","hentry","category-analytics","category-announcements","category-mapping","tag-arcgis-for-excel","tag-arcgis-for-microsoft-365","tag-data-science","tag-python-in-excel","tag-spatial-analysis","product-arcgis-for-excel","product-microsoft-365"],"acf":{"show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_in_Excel_with_ArcGIS_for_Excel_Image3.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_in_Excel_with_ArcGIS_for_Excel_BannerImage3.png","authors":[{"ID":252692,"user_firstname":"Gaurav","user_lastname":"Singh","nickname":"Gaurav Singh","user_nicename":"gsingh","display_name":"Gaurav Singh","user_email":"gsingh@esri.com","user_url":"","user_registered":"2021-07-16 23:07:37","user_description":"Sr. Product Engineer in the ArcGIS for Microsoft365 group.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/12\/Ph3-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"short_description":"Learn how ArcGIS for Excel, Python in Excel, and machine learning work together to turn Excel data into smarter decisions.","flexible_content":[{"acf_fc_layout":"content","content":"<p>In this Blog post, I\u2019ll show how ArcGIS for Excel, Python in Excel, Machine learning models and Excel can work together and turn Excel data into decision making. We&#8217;ll walk through a field-operations scenario, but the pattern applies anywhere you have location data.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>ArcGIS for Excel <\/strong><\/p>\n<p>ArcGIS for Excel is part of the <a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-for-microsoft\/arcgis-for-microsoft-365\"><strong>ArcGIS for Microsoft 365<\/strong><\/a> family. <a href=\"https:\/\/doc.arcgis.com\/en\/excel\/latest\/get-started\/install-and-manage-arcgis-for-excel.htm\">ArcGIS for Excel\u00a0<\/a>is an add-in to\u00a0Microsoft 365\u00a0that you can use to add ArcGIS mapping capabilities to\u00a0Microsoft Excel. With\u00a0ArcGIS for Excel, you can create an interactive map that includes data from\u00a0Excel\u00a0and ArcGIS services without leaving the\u00a0Excel\u00a0environment.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Python in Excel<\/strong><\/p>\n<p>Python in Excel is a Microsoft feature that lets you write Python directly in a cell. What makes this really powerful is that you can reference your Excel data as Pandas DataFrames \u2013 so that your rows and columns become something Python can immediately work with. From there you can build charts with matplotlib or seaborn, run statistical analysis, and run machine learning models, all without leaving the Excel spreadsheet.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Note:<\/strong> Esri\u2019s Python libraries, for example &#8211; ArcGIS API for Python, aren\u2019t currently supported in Python in Excel. Python in Excel runs in the Microsoft Cloud with a fixed set of Anaconda libraries and doesn&#8217;t allow third-party packages to be installed.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984267,"id":2984267,"title":"Python_In_Excel_Img1","filename":"Python_In_Excel_Img1.png","filesize":300917,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img1","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img1","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 20:33:40","modified":"2026-10-06 20:33:40","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1152,"height":648,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1.png","large-width":1152,"large-height":648,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1.png","1536x1536-width":1152,"1536x1536-height":648,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1.png","2048x2048-width":1152,"2048x2048-height":648,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1-826x465.png","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img1.png","wide_image-width":1152,"wide_image-height":648}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><strong>Dataset<\/strong><\/p>\n<p>For the walkthrough, I\u2019m using a set of geological survey locations \u2013 30 sites, spread across 6 survey types. Five of the sites are flagged at high risk.\u00a0 Each record includes UTM 11N coordinates (Easting and Northing) along with attributes like survey details, risk level, and survey status. Sample dataset (not real survey sites) is attached to the blog article.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984336,"id":2984336,"title":"Python_In_Excel_Img4","filename":"Python_In_Excel_Img4.png","filesize":68399,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img4","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img4","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 22:34:32","modified":"2026-10-06 22:34:32","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1048,"height":289,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4.png","medium-width":464,"medium-height":128,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4.png","medium_large-width":768,"medium_large-height":212,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4.png","large-width":1048,"large-height":289,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4.png","1536x1536-width":1048,"1536x1536-height":289,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4.png","2048x2048-width":1048,"2048x2048-height":289,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4-826x228.png","card_image-width":826,"card_image-height":228,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img4.png","wide_image-width":1048,"wide_image-height":289}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><strong>Introduction to Python in Excel<\/strong><\/p>\n<p>Let\u2019s start simple, to invoke python in Excel, Go to Formula type -&gt; Select Insert Python -&gt; In the formula bar typing basic Python Statement<\/p>\n<p>&#8220;Hello &#8211; I&#8217;m Python, running inside Excel!&#8221; and when I press Ctrl+Enter, the result appears right in the cell.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984334,"id":2984334,"title":"Python_In_Excel_Img3","filename":"Python_In_Excel_Img3.png","filesize":163235,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img3","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img3","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 22:30:09","modified":"2026-10-06 22:30:09","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1909,"height":937,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3.png","medium-width":464,"medium-height":228,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3.png","medium_large-width":768,"medium_large-height":377,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3.png","large-width":1909,"large-height":937,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3-1536x754.png","1536x1536-width":1536,"1536x1536-height":754,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3.png","2048x2048-width":1909,"2048x2048-height":937,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3-826x405.png","card_image-width":826,"card_image-height":405,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img3.png","wide_image-width":1909,"wide_image-height":937}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Now let&#8217;s try list comprehension, this is one liner generates the squares of the numbers 1 to 5, pure python right inside Excel<\/p>\n<p>[x**2 for x in range (1, 6)]<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984347,"id":2984347,"title":"Python_In_Excel_Img6","filename":"Python_In_Excel_Img6.png","filesize":162115,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img6","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img6","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 23:00:10","modified":"2026-10-06 23:00:10","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1915,"height":929,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6.png","medium-width":464,"medium-height":225,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6.png","medium_large-width":768,"medium_large-height":373,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6.png","large-width":1915,"large-height":929,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6-1536x745.png","1536x1536-width":1536,"1536x1536-height":745,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6.png","2048x2048-width":1915,"2048x2048-height":929,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6-826x401.png","card_image-width":826,"card_image-height":401,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img6.png","wide_image-width":1915,"wide_image-height":929}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Microsoft has also provided Editor for writing Python Code. In the Formulas tab, under the Python group, select Editor<\/p>\n<p>Generating a Random Numbers Column in Excel Using Python<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984342,"id":2984342,"title":"Python_In_Excel_Img5","filename":"Python_In_Excel_Img5.png","filesize":223702,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img5","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img5","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 22:45:07","modified":"2026-10-06 22:45:07","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1917,"height":952,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5.png","medium-width":464,"medium-height":230,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5.png","medium_large-width":768,"medium_large-height":381,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5.png","large-width":1917,"large-height":952,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5-1536x763.png","1536x1536-width":1536,"1536x1536-height":763,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5.png","2048x2048-width":1917,"2048x2048-height":952,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5-826x410.png","card_image-width":826,"card_image-height":410,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img5.png","wide_image-width":1917,"wide_image-height":952}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Loading the survey data into a DataFrame is a single call using the xl() function<\/p>\n<p>data = xl(&#8220;A1:J31&#8221;, headers=True)<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984349,"id":2984349,"title":"Python_In_Excel_Img7","filename":"Python_In_Excel_Img7.png","filesize":283295,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img7","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img7","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 23:07:54","modified":"2026-10-06 23:07:54","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1915,"height":929,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7.png","medium-width":464,"medium-height":225,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7.png","medium_large-width":768,"medium_large-height":373,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7.png","large-width":1915,"large-height":929,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7-1536x745.png","1536x1536-width":1536,"1536x1536-height":745,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7.png","2048x2048-width":1915,"2048x2048-height":929,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7-826x401.png","card_image-width":826,"card_image-height":401,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img7.png","wide_image-width":1915,"wide_image-height":929}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Let&#8217;s do a quick analysis. Let&#8217;s find out how many surveys are high risk, medium risk, and low risk. This is the one liner code &#8211;<\/p>\n<p>data.groupby(&#8220;Risk_Level&#8221;).size()<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984350,"id":2984350,"title":"Python_In_Excel_Img8","filename":"Python_In_Excel_Img8.png","filesize":208867,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img8","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img8","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 23:10:22","modified":"2026-10-06 23:10:22","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1915,"height":918,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8.png","medium-width":464,"medium-height":222,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8.png","medium_large-width":768,"medium_large-height":368,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8.png","large-width":1915,"large-height":918,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8-1536x736.png","1536x1536-width":1536,"1536x1536-height":736,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8.png","2048x2048-width":1915,"2048x2048-height":918,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8-826x396.png","card_image-width":826,"card_image-height":396,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img8.png","wide_image-width":1915,"wide_image-height":918}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>To find out how many high-risk surveys are completed vs in Progress vs pending<\/p>\n<p>data = xl(&#8220;A1:J31&#8221;, headers=True)<\/p>\n<p>pd.crosstab(data[&#8220;Risk_Level&#8221;], data[&#8220;Status&#8221;])<\/p>\n<p>No formulas, no pivot tables, just using Python we can find our answers right inside Excel.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h3><strong>Spatial Problem &#8211; Create the priority list for the Field team<\/strong><\/h3>\n<p>We have seen how Python in Excel works. Let\u2019s use Python in Excel to solve a spatial problem with ArcGIS for Excel. This example is not best answered with just a spreadsheet of data. In the dataset we have 30 survey sites and a limited number of field teams. The question is: where do we send them first?<\/p>\n<p>When we look at our data, we&#8217;ll find that GS082 and GS089 are both High-risk sites and their surveys are still In Progress. They look high priority survey sites for the Field teams.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984352,"id":2984352,"title":"Python_In_Excel_Img9","filename":"Python_In_Excel_Img9.png","filesize":107239,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img9","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img9","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 23:18:44","modified":"2026-10-06 23:18:44","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":978,"height":165,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9-213x165.png","thumbnail-width":213,"thumbnail-height":165,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9.png","medium-width":464,"medium-height":78,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9.png","medium_large-width":768,"medium_large-height":130,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9.png","large-width":978,"large-height":165,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9.png","1536x1536-width":978,"1536x1536-height":165,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9.png","2048x2048-width":978,"2048x2048-height":165,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9-826x139.png","card_image-width":826,"card_image-height":139,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img9.png","wide_image-width":978,"wide_image-height":165}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Well, it&#8217;s not that straightforward. What if a high-risk site has no people around it, but a medium-risk site is right next to a big city? We need more information to build a smarter priority list for the Field team.<\/p>\n<p><strong>The approach to solving the spatial problem <\/strong><\/p>\n<p>The plan is three steps:<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984354,"id":2984354,"title":"Python_In_Excel_Img10","filename":"Python_In_Excel_Img10.png","filesize":185903,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img10","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img10","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 23:23:16","modified":"2026-10-06 23:23:16","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":978,"height":628,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10.png","medium-width":406,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10.png","medium_large-width":768,"medium_large-height":493,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10.png","large-width":978,"large-height":628,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10.png","1536x1536-width":978,"1536x1536-height":628,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10.png","2048x2048-width":978,"2048x2048-height":628,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10-724x465.png","card_image-width":724,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img10.png","wide_image-width":978,"wide_image-height":628}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<ol>\n<li><strong>Map the sites &#8211; <\/strong>Add the survey locations to the ArcGIS for Excel map and color them by risk level.<\/li>\n<li><strong>Enrich with population &#8211; <\/strong>Pull total population for each site using the ArcGIS for Excel geoenrichment function.<\/li>\n<li><strong>Cluster with Python &#8211; <\/strong>Use K-Means to group the surveys by depth, risk, and population into three priority categories \u2014 high, medium, and low.<\/li>\n<\/ol>\n<p>Step 1 &#8211; Map and symbolize<\/p>\n<p>Add the survey sites to the ArcGIS for Excel map and symbolize them by risk level. The important thing to remember for later &#8211; the map and the sheet stay linked, so anything we do in the Excel sheet, for example applying filter in the Excel update the map accordingly.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984355,"id":2984355,"title":"Python_In_Excel_Img12","filename":"Python_In_Excel_Img12.png","filesize":801599,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img12","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img12","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 23:34:27","modified":"2026-10-06 23:34:27","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1917,"height":931,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12.png","medium-width":464,"medium-height":225,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12.png","medium_large-width":768,"medium_large-height":373,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12.png","large-width":1917,"large-height":931,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12-1536x746.png","1536x1536-width":1536,"1536x1536-height":746,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12.png","2048x2048-width":1917,"2048x2048-height":931,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12-826x401.png","card_image-width":826,"card_image-height":401,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img12.png","wide_image-width":1917,"wide_image-height":931}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Step 2 &#8211; Geoenrichment with ENRICHBYPOINT<\/p>\n<p>This is the ArcGIS-specific move that supplies the factor our table was missing. The ENRICHBYPOINT function is one of the ArcGIS functions available through the <strong>Function Builder<\/strong>. It takes a point location &#8211; one of our survey sites &#8211; and enriches it with data variables from ArcGIS. Here, we&#8217;re fetching <strong>total population for 2026 within a 10 mile radius<\/strong> of each site.<\/p>\n<p>In practice, you open the Function Builder, select ENRICHBYPOINT, run it against the survey data, and apply the formula down the remaining rows. In the sample dataset, the 2026 Total Population column is already added.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984359,"id":2984359,"title":"Python_In_Excel_Img13","filename":"Python_In_Excel_Img13.png","filesize":199566,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img13","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img13","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 23:48:58","modified":"2026-10-06 23:48:58","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1914,"height":929,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13.png","medium-width":464,"medium-height":225,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13.png","medium_large-width":768,"medium_large-height":373,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13.png","large-width":1914,"large-height":929,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13-1536x746.png","1536x1536-width":1536,"1536x1536-height":746,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13.png","2048x2048-width":1914,"2048x2048-height":929,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13-826x401.png","card_image-width":826,"card_image-height":401,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img13.png","wide_image-width":1914,"wide_image-height":929}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Step 3 \u2013 K-Means clustering model in Python<\/p>\n<p>With three variables in hand &#8211; depth, risk level, and population &#8211; we let Python do the weighing. The K-Means model groups the sites into three clusters, which we label <strong>High Priority<\/strong>, <strong>Medium Priority<\/strong>, and <strong>Low Priority<\/strong><\/p>\n<p>Apply an Excel filter for High Priority, and the answer comes back: sites <strong>GS082, GS084, and GS086<\/strong> are where the field teams should go first. And here&#8217;s the payoff of doing this inside ArcGIS for Excel &#8211; when you filter the sheet, the map updates automatically to show the matching features.<\/p>\n<p><strong>Note &#8211; The K-means clustering sample code attached with this blog article.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>What changed, and why it matters<\/strong><\/p>\n<p>Let\u2019s put the two answers side by side:<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984360,"id":2984360,"title":"Python_In_Excel_Img14","filename":"Python_In_Excel_Img14.png","filesize":199279,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img14","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img14","status":"inherit","uploaded_to":2984221,"date":"2026-10-06 23:54:14","modified":"2026-10-06 23:54:14","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1039,"height":590,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14.png","medium-width":460,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14.png","medium_large-width":768,"medium_large-height":436,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14.png","large-width":1039,"large-height":590,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14.png","1536x1536-width":1039,"1536x1536-height":590,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14.png","2048x2048-width":1039,"2048x2048-height":590,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14-819x465.png","card_image-width":819,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img14.png","wide_image-width":1039,"wide_image-height":590}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<ul>\n<li><strong>Sorting by risk alone:<\/strong> GS082 and GS089<\/li>\n<li><strong>After K-Means:<\/strong> GS082, GS084, and GS086<\/li>\n<\/ul>\n<p>Two things stand out &#8211;\u00a0GS089 dropped out of the top group, and GS084 and GS086 moved in. That&#8217;s because the model looks at risk and population together, instead of risk alone.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2984362,"id":2984362,"title":"Python_In_Excel_Img15","filename":"Python_In_Excel_Img15.png","filesize":267151,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img15","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img15","status":"inherit","uploaded_to":2984221,"date":"2026-10-07 00:17:00","modified":"2026-10-07 00:17:00","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1914,"height":926,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15.png","medium-width":464,"medium-height":224,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15.png","medium_large-width":768,"medium_large-height":372,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15.png","large-width":1914,"large-height":926,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15-1536x743.png","1536x1536-width":1536,"1536x1536-height":743,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15.png","2048x2048-width":1914,"2048x2048-height":926,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15-826x400.png","card_image-width":826,"card_image-height":400,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img15.png","wide_image-width":1914,"wide_image-height":926}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":2984363,"id":2984363,"title":"Python_In_Excel_Img16","filename":"Python_In_Excel_Img16.png","filesize":806158,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\/python_in_excel_img16","alt":"","author":"252692","description":"","caption":"","name":"python_in_excel_img16","status":"inherit","uploaded_to":2984221,"date":"2026-10-07 00:20:04","modified":"2026-10-07 00:20:04","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1916,"height":928,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16.png","medium-width":464,"medium-height":225,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16.png","medium_large-width":768,"medium_large-height":372,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16.png","large-width":1916,"large-height":928,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16-1536x744.png","1536x1536-width":1536,"1536x1536-height":744,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16.png","2048x2048-width":1916,"2048x2048-height":928,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16-826x400.png","card_image-width":826,"card_image-height":400,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_In_Excel_Img16.png","wide_image-width":1916,"wide_image-height":928}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>That&#8217;s the whole reason for combining these tools. ArcGIS supplied the population context a raw survey table never had. Python found the answer &#8211;\u00a0 three priority sites, not two. And using ArcGIS for Excel you can see exactly where those sites are on the map &#8211; all of them are in one spreadsheet.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>ArcGIS for Excel and Python in Excel give you a fast way to explore location data and make smarter decisions inside Excel. We mapped the sites in the ArcGIS for Excel map, enriched them with population, and clustered them with Python, and the result went from two priority sites to the right three &#8211; all inside a single Excel sheet.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"<p>K-Means Model Sample Code &#8211;<\/p>\n","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"# Enter this code in cell K1 of the sample sites worksheet.\r\n\r\nimport pandas as pd\r\nimport numpy as np\r\nfrom sklearn.preprocessing import StandardScaler\r\nfrom sklearn.cluster import KMeans\r\n\r\n# Read the survey data from the sheet\r\ndata = xl(\"A1:J31\", headers=True)\r\n\r\n# Turn risk level into numbers: High = 2, Medium = 1, Low = 0\r\nrisk_map = {\"High\": 2, \"Medium\": 1, \"Low\": 0}\r\ndata[\"Risk_Score\"] = data[\"Risk_Level\"].map(risk_map)\r\n\r\n# Shrink big population numbers so they don't outweigh risk\r\ndata[\"Population_Log\"] = np.log1p(data[\"2026 Total Population\"])\r\n\r\n# Keep only surveys that still need work\r\nactive = data[data[\"Survey_Status\"] != \"Completed\"].copy()\r\ncompleted = data[data[\"Survey_Status\"] == \"Completed\"].copy()\r\n\r\n# Put risk and population on the same scale\r\ninput_cols = [\"Risk_Score\", \"Population_Log\"]\r\nscaler = StandardScaler()\r\nscaled_data = scaler.fit_transform(active[input_cols])\r\n\r\n# Group the surveys into 3 groups\r\nkmeans = KMeans(n_clusters=3, random_state=2026, n_init=10)\r\nactive[\"cluster\"] = kmeans.fit_predict(scaled_data)\r\n\r\n# Give each survey a score: higher risk + more people = higher score\r\nactive[\"Priority_Score\"] = scaled_data.sum(axis=1)\r\n\r\n# Name the groups: highest score = High Priority and so on\r\norder = (active.groupby(\"cluster\")[\"Priority_Score\"].mean()\r\n               .sort_values(ascending=False).index)\r\nrank_labels = {order[0]: \"High Priority\",\r\n               order[1]: \"Medium Priority\",\r\n               order[2]: \"Low Priority\"}\r\nactive[\"Survey_Priority\"] = active[\"cluster\"].map(rank_labels)\r\n\r\n# Completed surveys need no action\r\ncompleted[\"Survey_Priority\"] = \"Completed - No Action\"\r\n\r\n# Put all surveys back together in the original order\r\nresult = pd.concat([active, completed]).sort_index()\r\nresult[\"Survey_Priority\"]","spotlight_name":"","section_title":"","position":"Left","spotlight_image":false},{"acf_fc_layout":"sidebar","content":"<p>Sample survey sites dataset. Copy the data below and paste it into cell A1 of a blank Excel worksheet.<\/p>\n","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"Survey_Site_ID\tEasting\tNorthing\tUTM_Zone\tSurvey_Locs_Details\tSurvey_Date\tRock_Formation\tSurvey_Status\tRisk_Level\t2026 Total Population\r\nGS051\t456789\t3901234\t11N\tEarthquake fault survey\t44997\tQuaternary Alluvium\tCompleted\tHigh\t27\r\nGS052\t567890\t4012345\t11N\tLandslide hazard survey\t45064\tTertiary Sandstone\tCompleted\tHigh\t3894\r\nGS053\t667890\t4167890\t11N\tSoil survey\t45111\tCretaceous Shale\tCompleted\tLow\t113\r\nGS054\t512345\t4067890\t11N\tMineral resource exploration\t45160\tPrecambrian Granite\tIn Progress\tMedium\t2\r\nGS055\t789012\t3901234\t11N\tGroundwater mapping\t45179\tQuaternary Alluvium\tCompleted\tMedium\t16271\r\nGS056\t678901\t4123456\t11N\tGeothermal assessment\t45204\tVolcanic Basalt\tIn Progress\tMedium\t11\r\nGS057\t567890\t3890123\t11N\tMining survey\t45244\tPrecambrian Granite\tCompleted\tLow\t7\r\nGS058\t456789\t4234567\t11N\tMineral resource exploration\t45299\tTertiary Sandstone\tIn Progress\tMedium\t2\r\nGS059\t712345\t3901234\t11N\tSoil erosion\t45341\tQuaternary Alluvium\tCompleted\tHigh\t38201\r\nGS060\t512345\t4345678\t11N\tOil and gas mapping\t45378\tCretaceous Shale\tCompleted\tLow\t43\r\nGS061\t723456\t3890123\t11N\tSoil survey\t45397\tTertiary Sandstone\tCompleted\tLow\t68581\r\nGS062\t567890\t4456789\t11N\tGroundwater mapping\t45414\tQuaternary Alluvium\tIn Progress\tMedium\t29\r\nGS063\t678901\t4456789\t11N\tGroundwater mapping\t45442\tQuaternary Alluvium\tPending\tMedium\t21\r\nGS064\t456789\t4567890\t11N\tTerrain mapping\t45454\tVolcanic Basalt\tCompleted\tLow\t513\r\nGS065\t678901\t3901234\t11N\tGroundwater mapping\t45495\tQuaternary Alluvium\tPending\tMedium\t148\r\nGS081\t634567\t4123456\t11N\tSoil survey\t45507\tCretaceous Shale\tCompleted\tLow\t0\r\nGS082\t712345\t3890123\t11N\tLandslide hazard survey\t45533\tTertiary Sandstone\tIn Progress\tHigh\t62243\r\nGS083\t589012\t4234567\t11N\tSoil survey\t45549\tQuaternary Alluvium\tCompleted\tLow\t3\r\nGS084\t667890\t3978901\t11N\tMineral resource exploration\t45565\tPrecambrian Granite\tIn Progress\tMedium\t525395\r\nGS085\t501234\t4023456\t11N\tGroundwater mapping\t45573\tQuaternary Alluvium\tPending\tLow\t213\r\nGS086\t723456\t3901234\t11N\tGeothermal assessment\t45587\tVolcanic Basalt\tIn Progress\tMedium\t36910\r\nGS087\t567890\t4345678\t11N\tMining survey\t45601\tPrecambrian Granite\tCompleted\tLow\t0\r\nGS088\t501234\t4567890\t11N\tMineral resource exploration\t45614\tTertiary Sandstone\tPending\tMedium\t21\r\nGS089\t512345\t4456789\t11N\tSoil erosion\t45628\tQuaternary Alluvium\tIn Progress\tHigh\t15\r\nGS090\t701234\t3978901\t11N\tOil and gas mapping\t45641\tCretaceous Shale\tCompleted\tLow\t19629\r\nGS091\t589012\t4023456\t11N\tSoil survey\t45666\tQuaternary Alluvium\tPending\tLow\t15110\r\nGS092\t667890\t3901234\t11N\tGroundwater mapping\t45681\tTertiary Sandstone\tIn Progress\tMedium\t23\r\nGS093\t501234\t4567890\t11N\tGroundwater mapping\t45695\tQuaternary Alluvium\tPending\tMedium\t21\r\nGS094\t723456\t3890123\t11N\tTerrain mapping\t45708\tVolcanic Basalt\tCompleted\tLow\t68581\r\nGS095\t567890\t4234567\t11N\tGroundwater mapping\t45721\tQuaternary Alluvium\tIn Progress\tMedium\t10\r\n","spotlight_name":"","section_title":"","position":"Left","spotlight_image":false}],"related_articles":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>An Introduction to Python in Excel with ArcGIS for Excel<\/title>\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.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An Introduction to Python in Excel with ArcGIS for Excel\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-07T02:41:35+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\"},\"author\":{\"name\":\"Gaurav Singh\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e581c3c49c1f598179c1ef658d86ec32\"},\"headline\":\"An Introduction to Python in Excel with ArcGIS for Excel\",\"datePublished\":\"2026-10-07T01:05:38+00:00\",\"dateModified\":\"2026-10-07T02:41:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\"},\"wordCount\":10,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS for Excel\",\"ArcGIS for Microsoft 365\",\"Data Science\",\"Python in Excel\",\"spatial analysis\"],\"articleSection\":[\"Analytics\",\"Announcements\",\"Mapping\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\",\"name\":\"An Introduction to Python in Excel with ArcGIS for Excel\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2026-10-07T01:05:38+00:00\",\"dateModified\":\"2026-10-07T02:41:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"An Introduction to Python in Excel with ArcGIS for Excel\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e581c3c49c1f598179c1ef658d86ec32\",\"name\":\"Gaurav Singh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/12\/Ph3-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/12\/Ph3-213x200.jpg\",\"caption\":\"Gaurav Singh\"},\"description\":\"Sr. Product Engineer in the ArcGIS for Microsoft365 group.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/gsingh\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"An Introduction to Python in Excel with ArcGIS for Excel","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.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel","og_locale":"en_US","og_type":"article","og_title":"An Introduction to Python in Excel with ArcGIS for Excel","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2026-10-07T02:41:35+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel"},"author":{"name":"Gaurav Singh","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e581c3c49c1f598179c1ef658d86ec32"},"headline":"An Introduction to Python in Excel with ArcGIS for Excel","datePublished":"2026-10-07T01:05:38+00:00","dateModified":"2026-10-07T02:41:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel"},"wordCount":10,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS for Excel","ArcGIS for Microsoft 365","Data Science","Python in Excel","spatial analysis"],"articleSection":["Analytics","Announcements","Mapping"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel","name":"An Introduction to Python in Excel with ArcGIS for Excel","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2026-10-07T01:05:38+00:00","dateModified":"2026-10-07T02:41:35+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-for-excel\/announcements\/an-introduction-to-python-in-excel-with-arcgis-for-excel#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"An Introduction to Python in Excel with ArcGIS for Excel"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e581c3c49c1f598179c1ef658d86ec32","name":"Gaurav Singh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/12\/Ph3-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/12\/Ph3-213x200.jpg","caption":"Gaurav Singh"},"description":"Sr. Product Engineer in the ArcGIS for Microsoft365 group.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/gsingh"}]}},"text_date":"October 6, 2026","author_name":"Gaurav Singh","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/gsingh","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/10\/Python_in_Excel_with_ArcGIS_for_Excel_BannerImage3.png","primary_product":"ArcGIS for Excel","tag_data":[{"term_id":766102,"name":"ArcGIS for Excel","slug":"arcgis-for-excel","term_group":0,"term_taxonomy_id":766102,"taxonomy":"post_tag","description":"","parent":0,"count":17,"filter":"raw"},{"term_id":761562,"name":"ArcGIS for Microsoft 365","slug":"arcgis-for-microsoft-365","term_group":0,"term_taxonomy_id":761562,"taxonomy":"post_tag","description":"","parent":0,"count":32,"filter":"raw"},{"term_id":31601,"name":"Data Science","slug":"data-science","term_group":0,"term_taxonomy_id":31601,"taxonomy":"post_tag","description":"","parent":0,"count":48,"filter":"raw"},{"term_id":781258,"name":"Python in Excel","slug":"python-in-excel","term_group":0,"term_taxonomy_id":781258,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":25631,"name":"spatial analysis","slug":"spatial-analysis","term_group":0,"term_taxonomy_id":25631,"taxonomy":"post_tag","description":"","parent":0,"count":63,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1377,"filter":"raw"},{"term_id":37101,"name":"Announcements","slug":"announcements","term_group":0,"term_taxonomy_id":37101,"taxonomy":"category","description":"","parent":0,"count":2096,"filter":"raw"},{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2759,"filter":"raw"}],"product_data":[{"term_id":766382,"name":"ArcGIS for Excel","slug":"arcgis-for-excel","term_group":0,"term_taxonomy_id":766382,"taxonomy":"product","description":"","parent":36591,"count":22,"filter":"raw"},{"term_id":770122,"name":"ArcGIS for Microsoft 365","slug":"microsoft-365","term_group":0,"term_taxonomy_id":770122,"taxonomy":"product","description":"","parent":36591,"count":51,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-for-excel","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2984221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/252692"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2984221"}],"version-history":[{"count":29,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2984221\/revisions"}],"predecessor-version":[{"id":2984374,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2984221\/revisions\/2984374"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2984221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2984221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2984221"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2984221"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2984221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}