<?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: Create Sequential Numeric ID in Groups in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166355#M12819</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I have a set of records:&lt;BR /&gt;OID,Type&lt;BR /&gt;1,A&lt;BR /&gt;2,B&lt;BR /&gt;3,A&lt;BR /&gt;4,B&lt;BR /&gt;5,C&lt;BR /&gt;6,C&lt;BR /&gt;7,B&lt;BR /&gt;8,B&lt;BR /&gt;9,A&lt;BR /&gt;&lt;BR /&gt;I'd like to use a python script to add a sequential unique ID by type...&lt;BR /&gt;OID,Type,Type_Num&lt;BR /&gt;1,A,1&lt;BR /&gt;2,B,1&lt;BR /&gt;3,A,2&lt;BR /&gt;4,B,2&lt;BR /&gt;5,C,1&lt;BR /&gt;6,C,2&lt;BR /&gt;7,B,3&lt;BR /&gt;8,B,4&lt;BR /&gt;9,A,3&lt;BR /&gt;&lt;BR /&gt;So far i've attempted looping through a list of types but with only partial success and i'm convinced i'm way off base as evidenced by code below...&lt;BR /&gt;rec=0&lt;BR /&gt;L=["A","B","C"]&lt;BR /&gt;def doit (Type) :&lt;BR /&gt;&amp;nbsp; for name in L :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while Type == name :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; global rec&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rec = rec + 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return rec&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rec=0&lt;BR /&gt;__esri_field_calculator_splitter__&lt;BR /&gt;doit (!Type!)&lt;BR /&gt;&lt;BR /&gt;My ultimate goal is to reference my records in the fashion A1, A2, A3, B1, B2, B3 etc.&amp;nbsp; Any thoughts or suggestions would be much appreciated.&amp;nbsp; Obviously i'm VERY new to Python.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;look at this link... a very similar question has been answered.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/27926-Find-Duplicates-and-increment"&gt;http://forums.arcgis.com/threads/27926-Find-Duplicates-and-increment&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 11 Apr 2011 19:08:18 GMT</pubDate>
    <dc:creator>TerrySilveus</dc:creator>
    <dc:date>2011-04-11T19:08:18Z</dc:date>
    <item>
      <title>Create Sequential Numeric ID in Groups</title>
      <link>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166353#M12817</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have a set of records:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;OID,Type&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1,A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2,B&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3,A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4,B&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5,C&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6,C&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;7,B&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;8,B&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;9,A&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'd like to use a python script to add a sequential unique ID by type...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;OID,Type,Type_Num&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1,A,1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2,B,1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3,A,2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4,B,2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5,C,1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6,C,2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;7,B,3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;8,B,4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;9,A,3&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So far i've attempted looping through a list of types but with only partial success and i'm convinced i'm way off base as evidenced by code below...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rec=0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;L=["A","B","C"]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;def doit (Type) :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for name in L :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while Type == name :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; global rec&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rec = rec + 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return rec&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rec=0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__esri_field_calculator_splitter__&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;doit (!Type!)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My ultimate goal is to reference my records in the fashion A1, A2, A3, B1, B2, B3 etc.&amp;nbsp; Any thoughts or suggestions would be much appreciated.&amp;nbsp; Obviously i'm VERY new to Python.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Apr 2011 18:47:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166353#M12817</guid>
      <dc:creator>ScottReaves</dc:creator>
      <dc:date>2011-04-11T18:47:22Z</dc:date>
    </item>
    <item>
      <title>Re: Create Sequential Numeric ID in Groups</title>
      <link>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166354#M12818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here's a standalone script that should do what you want (just change the path to your feature class):&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy

input = "H:/GIS_Data/TEMP_GDB.gdb/feattoline" # your feature class
fields = "OID A; Type A" # sort by OID, ascending, then Type, ascending

rows = arcpy.UpdateCursor(input,"","","",fields)

count = 0
for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp; if count == 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; curType = row.Type
&amp;nbsp;&amp;nbsp;&amp;nbsp; count = count + 1
&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.Type != curType:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; curType = row.Type
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count = 1
&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Type_Num = count
&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row)

del row
del rows&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:40:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166354#M12818</guid>
      <dc:creator>DarrenWiens2</dc:creator>
      <dc:date>2021-12-11T08:40:42Z</dc:date>
    </item>
    <item>
      <title>Re: Create Sequential Numeric ID in Groups</title>
      <link>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166355#M12819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I have a set of records:&lt;BR /&gt;OID,Type&lt;BR /&gt;1,A&lt;BR /&gt;2,B&lt;BR /&gt;3,A&lt;BR /&gt;4,B&lt;BR /&gt;5,C&lt;BR /&gt;6,C&lt;BR /&gt;7,B&lt;BR /&gt;8,B&lt;BR /&gt;9,A&lt;BR /&gt;&lt;BR /&gt;I'd like to use a python script to add a sequential unique ID by type...&lt;BR /&gt;OID,Type,Type_Num&lt;BR /&gt;1,A,1&lt;BR /&gt;2,B,1&lt;BR /&gt;3,A,2&lt;BR /&gt;4,B,2&lt;BR /&gt;5,C,1&lt;BR /&gt;6,C,2&lt;BR /&gt;7,B,3&lt;BR /&gt;8,B,4&lt;BR /&gt;9,A,3&lt;BR /&gt;&lt;BR /&gt;So far i've attempted looping through a list of types but with only partial success and i'm convinced i'm way off base as evidenced by code below...&lt;BR /&gt;rec=0&lt;BR /&gt;L=["A","B","C"]&lt;BR /&gt;def doit (Type) :&lt;BR /&gt;&amp;nbsp; for name in L :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while Type == name :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; global rec&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rec = rec + 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return rec&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rec=0&lt;BR /&gt;__esri_field_calculator_splitter__&lt;BR /&gt;doit (!Type!)&lt;BR /&gt;&lt;BR /&gt;My ultimate goal is to reference my records in the fashion A1, A2, A3, B1, B2, B3 etc.&amp;nbsp; Any thoughts or suggestions would be much appreciated.&amp;nbsp; Obviously i'm VERY new to Python.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;look at this link... a very similar question has been answered.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/27926-Find-Duplicates-and-increment"&gt;http://forums.arcgis.com/threads/27926-Find-Duplicates-and-increment&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Apr 2011 19:08:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166355#M12819</guid>
      <dc:creator>TerrySilveus</dc:creator>
      <dc:date>2011-04-11T19:08:18Z</dc:date>
    </item>
    <item>
      <title>Re: Create Sequential Numeric ID in Groups</title>
      <link>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166356#M12820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have something like this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy
Acount = 0
Bcount = 0
Ccount = 0
rows = arcpy.UpdateCursor("mydata", "", "", "OID; Type; Type_Num", "OID A")

for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.Type == 'A':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Acount = Acount+1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Type_Num = Acount
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Type == 'B':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bcount = Bcount+1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Type_Num = Bcount
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Type == 'C':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ccount = Ccount+1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Type_Num = Ccount
&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row)
del row
del rows&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:40:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166356#M12820</guid>
      <dc:creator>MathewCoyle</dc:creator>
      <dc:date>2021-12-11T08:40:45Z</dc:date>
    </item>
    <item>
      <title>Re: Create Sequential Numeric ID in Groups</title>
      <link>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166357#M12821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you both, i believe this will get me there!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Apr 2011 19:13:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/create-sequential-numeric-id-in-groups/m-p/166357#M12821</guid>
      <dc:creator>ScottReaves</dc:creator>
      <dc:date>2011-04-11T19:13:42Z</dc:date>
    </item>
  </channel>
</rss>

