<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to change a field based on another field in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/how-to-change-a-field-based-on-another-field/m-p/1345830#M69149</link>
    <description>&lt;P&gt;Cool, is this for Pokemon Go?&lt;/P&gt;&lt;P&gt;If you're using &lt;A href="https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/calculate-field.htm" target="_self"&gt;calculate field&lt;/A&gt;, I think what you want is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;# Expression
setLandmarkType(!LandmarkName!, !LandmarkType!)

# Code block
def setLandmarkType(landmark_name, landmark_type):
    if "park" in landmark_name.lower():
        landmark_type = "Park"
    return landmark_type&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Be careful though, you will almost certainly get &lt;STRONG&gt;false positives&lt;/STRONG&gt; by broadly grabbing anything with "park" in the name.&lt;/P&gt;&lt;P&gt;EDIT:&lt;/P&gt;&lt;P&gt;I just noticed the part about the Special field for EX Raids...&lt;/P&gt;&lt;P&gt;With Calculate Field:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;# Expression
setSpecial(!LandmarkName!, !Special!)

# Code block
def setSpecial(landmark_name, special):
    if landmark_name.lower().endswith(" ex"):
        special = "EX Raid"
    return special&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With an &lt;A href="https://pro.arcgis.com/en/pro-app/latest/arcpy/data-access/updatecursor-class.htm" target="_self"&gt;update cursor&lt;/A&gt;:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;with arcpy.da.UpdateCursor(path_to_fc, ["LandmarkName", "LandmarkType", "Special"]) as cursor:
    for landmark_name, landmark_type, special in cursor:
        if "park" in landmark_name.lower():
            landmark_type = "Park"
        if landmark_name.lower().endswith(" ex"):
            special = "EX Raid"
        cursor.updateRow([landmark_name, landmark_type, special])&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 03 Nov 2023 22:15:17 GMT</pubDate>
    <dc:creator>BlakeTerhune</dc:creator>
    <dc:date>2023-11-03T22:15:17Z</dc:date>
    <item>
      <title>How to change a field based on another field</title>
      <link>https://community.esri.com/t5/python-questions/how-to-change-a-field-based-on-another-field/m-p/1345803#M69147</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ArcGISPro_r2XstfWLpV.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/85035iCE3B679EB98FC44B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ArcGISPro_r2XstfWLpV.png" alt="ArcGISPro_r2XstfWLpV.png" /&gt;&lt;/span&gt;&lt;BR /&gt;New to the field of GIS and learning ArcGIS Pro and Python at the same time.&lt;BR /&gt;How does one change Type field based on Name field&lt;BR /&gt;Collected data using Field Maps. Add more options for Type after the data was collected.&lt;BR /&gt;Special was also added after the data collection process.&lt;/P&gt;&lt;P&gt;For the record "Al Anderson Park", I want Type to change to Park regardless of whats already inputted.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Also for "Al Anderson Park EX", change Special from &amp;lt;Null&amp;gt; to EX Raid&lt;/P&gt;&lt;P&gt;I have more than 100 points collected&amp;nbsp; in my map and would rather have this processes automated some how.&lt;/P&gt;&lt;P&gt;Furthest I got was this code that works [&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;!LandmarkName&lt;/SPAN&gt;&lt;SPAN&gt;!&lt;/SPAN&gt;&lt;SPAN&gt;.replace&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"EX&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&amp;nbsp; ]&lt;BR /&gt;Tried other things that dont work cause im also new to python.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;if "Park" in !LandmarkName!:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;!LandmarkType!.replace(, "Park")&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Version 2.9 if that matters&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Nov 2023 20:45:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-change-a-field-based-on-another-field/m-p/1345803#M69147</guid>
      <dc:creator>JirehJuson</dc:creator>
      <dc:date>2023-11-03T20:45:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to change a field based on another field</title>
      <link>https://community.esri.com/t5/python-questions/how-to-change-a-field-based-on-another-field/m-p/1345830#M69149</link>
      <description>&lt;P&gt;Cool, is this for Pokemon Go?&lt;/P&gt;&lt;P&gt;If you're using &lt;A href="https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/calculate-field.htm" target="_self"&gt;calculate field&lt;/A&gt;, I think what you want is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;# Expression
setLandmarkType(!LandmarkName!, !LandmarkType!)

# Code block
def setLandmarkType(landmark_name, landmark_type):
    if "park" in landmark_name.lower():
        landmark_type = "Park"
    return landmark_type&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Be careful though, you will almost certainly get &lt;STRONG&gt;false positives&lt;/STRONG&gt; by broadly grabbing anything with "park" in the name.&lt;/P&gt;&lt;P&gt;EDIT:&lt;/P&gt;&lt;P&gt;I just noticed the part about the Special field for EX Raids...&lt;/P&gt;&lt;P&gt;With Calculate Field:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;# Expression
setSpecial(!LandmarkName!, !Special!)

# Code block
def setSpecial(landmark_name, special):
    if landmark_name.lower().endswith(" ex"):
        special = "EX Raid"
    return special&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With an &lt;A href="https://pro.arcgis.com/en/pro-app/latest/arcpy/data-access/updatecursor-class.htm" target="_self"&gt;update cursor&lt;/A&gt;:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;with arcpy.da.UpdateCursor(path_to_fc, ["LandmarkName", "LandmarkType", "Special"]) as cursor:
    for landmark_name, landmark_type, special in cursor:
        if "park" in landmark_name.lower():
            landmark_type = "Park"
        if landmark_name.lower().endswith(" ex"):
            special = "EX Raid"
        cursor.updateRow([landmark_name, landmark_type, special])&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Nov 2023 22:15:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-change-a-field-based-on-another-field/m-p/1345830#M69149</guid>
      <dc:creator>BlakeTerhune</dc:creator>
      <dc:date>2023-11-03T22:15:17Z</dc:date>
    </item>
  </channel>
</rss>

