<?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: GroupBy 2 columns and keep all fields in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567143#M44417</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Pandas 0.10.0 is over 4 years old, a lifetime for the SciPy stack.&amp;nbsp; Pandas 0.15.1 was released a month before ArcGIS 10.3, which raises the question of why your Citrix environments are running such an old version of pandas.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Aug 2017 14:31:32 GMT</pubDate>
    <dc:creator>JoshuaBixby</dc:creator>
    <dc:date>2017-08-04T14:31:32Z</dc:date>
    <item>
      <title>GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567132#M44406</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Edit: here's the current code I've got so far:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;itsct_nparr &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;FeatureClassToNumPyArray&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;prItsct&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'FID_preproc'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'NAME'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'Shape_Area'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#create a pandas DataFrame objects from the NumPy arrays&lt;/SPAN&gt;
itsct_df &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; DataFrame&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;itsct_nparr&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; columns&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'FID_preproc'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'NAME'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'Shape_Area'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
maxarea &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; itsct_df&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;groupby&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'FID_preproc'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'NAME'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; as_index&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token boolean"&gt;False&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;max&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
maxarea&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;to_csv&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;csvout&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; itsct_nparr&lt;SPAN class="line-numbers-rows"&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;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to come up with a solution that allows me to summarize an input&amp;nbsp;table, performing a GroupBy on 2 columns ("FID_preproc" and "Shape_Area") and keep all of the fields in the original table in the output/result.&amp;nbsp; From there I'll be joining that result with another table and calculating a field using the NAME column.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From the example, I need to maintain the FID_preproc, and NAME fields (see the desired result).&amp;nbsp; GroupBy on FID_preproc &lt;STRONG&gt;and&lt;/STRONG&gt; MAX(Shape_Area).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any method is acceptable (numpy, pandas, summarize table, da.SearchCursor, etc.) -- whatever you have I can use!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE style="width: 211pt; border-collapse: collapse;" width="281"&gt;&lt;TBODY&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD height="20" style="border: 0px black; width: 77pt; height: 15pt; background-color: transparent;" width="102"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;Input:&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; width: 34pt; background-color: transparent;" width="45"&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; width: 101pt; background-color: transparent;" width="134"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;FID_preproc&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;NAME&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;Shape_Area&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD align="right" height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;1340&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;A&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD align="right" style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;25952.35775&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD align="right" height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;1341&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;A&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD align="right" style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;118099.5219&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD align="right" height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;1341&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;B&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD align="right" style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;305220.1244&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD align="right" height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;1342&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;A&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD align="right" style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;12053.13585&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;Desired Result:&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;FID_preproc&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;NAME&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;Shape_Area&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD align="right" height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;1340&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;A&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD align="right" style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;25952.35775&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD align="right" height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;1341&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;B&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD align="right" style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;305220.1244&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 15pt;"&gt;&lt;TD align="right" height="20" style="border: 0px black; height: 15pt; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;1342&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;A&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD align="right" style="border: 0px black; background-color: transparent;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;12053.13585&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:26:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567132#M44406</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-12T00:26:03Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567133#M44407</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You may want to look at some of the suggestions by &lt;A href="https://community.esri.com/migrated-users/3420"&gt;Joshua Bixby&lt;/A&gt;‌&amp;nbsp; in my post &lt;A href="https://community.esri.com/thread/198817"&gt;How to convert a python "collection" to a gdb table? (1-to-many)&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;He pointed me to the rollup tool using pandas.&amp;nbsp; You may need to run it twice and then join the outputs, but that was a clean solution (if you have 10.4+ or pandas).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;oh...and I would use either summary or frequency to sum the areas.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Aug 2017 21:17:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567133#M44407</guid>
      <dc:creator>RebeccaStrauch__GISP</dc:creator>
      <dc:date>2017-08-03T21:17:04Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567134#M44408</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I appreciate it Rebecca.&amp;nbsp; I'm still not sure that will work for this implementation (or I'm just missing the obvious).&amp;nbsp; At this point I'd be happy if someone could show me how to accomplish this manually&amp;nbsp;with default gp tools in ArcGIS Desktop!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 12:51:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567134#M44408</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T12:51:49Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567135#M44409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In terms of semantics, I think most people working with data think of "group by" from a SQL perspective, even if they aren't working with SQL directly.&amp;nbsp; From a SQL perspective, this case isn't grouping by 2 columns but grouping by 1 column and selecting based on an aggregate function of another column, e.g., &lt;SPAN style="font-family: courier new,courier,monospace;"&gt;SELECT FID_preproc, MAX(Shape_Area) FROM table GROUP BY FID_preproc&lt;/SPAN&gt;.&amp;nbsp; I mention this because pandas also views this as grouping by 1 column like SQL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think the following pandas code will work for you:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; pandas

tbl &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;# path to table&lt;/SPAN&gt;
tbl_out &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;# path to output table&lt;/SPAN&gt;

narr &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;TableToNumPyArray&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tbl&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"*"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
df &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; pandas&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;DataFrame&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;from_records&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;narr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
idxs &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; df&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;groupby&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;by&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"FID_preproc"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; as_index&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token boolean"&gt;True&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Shape_Area"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;idxmax&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
recs &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; df&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;loc&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;idxs&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;to_records&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;index&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token boolean"&gt;False&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;astype&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;narr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;dtype&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;NumPyArrayToTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;recs&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; tbl_out&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&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;‍&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;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code above is similar to using an SQL query to select the records and then joining that result set back to the original data set to get all the columns for the selection.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:26:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567135#M44409</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2021-12-12T00:26:06Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567136#M44410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Joshua!&amp;nbsp; However, I'm getting:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;AttributeError: 'DataFrame' object has no attribute 'loc'&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 13:26:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567136#M44410</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T13:26:22Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567137#M44411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am about to post an &lt;SPAN style="font-family: courier new,courier,monospace;"&gt;itertools.groupby&lt;/SPAN&gt; solution that I like a bit more, but I did test the pandas code before posting it.&amp;nbsp; What version of ArcGIS are you running and what version of pandas is it?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 13:51:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567137#M44411</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2017-08-04T13:51:15Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567138#M44412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ArcGIS 10.3&lt;/P&gt;&lt;P&gt;Not sure what version of Pandas it is.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also: I updated main post with current code.&amp;nbsp; I thought it was important to show how I'm getting the numpy array and pandas dataframe setup.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 13:53:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567138#M44412</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T13:53:15Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567139#M44413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Seeing most of the SciPy stack, including pandas, wasn't bundled with ArcGIS until 10.4; I can't infer what version of pandas you installed.&amp;nbsp; What does the following code say the pandas version is on your machine:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; pandas
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; pandas&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;__version__
u&lt;SPAN class="string token"&gt;'0.18.1'&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="line-numbers-rows"&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;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I am running ArcGIS 10.5.1 that comes bundled with pandas 0.18.1, but &lt;SPAN style="font-family: courier new,courier,monospace;"&gt;dataframe.loc&lt;/SPAN&gt; has been around for several versions of pandas.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:26:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567139#M44413</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2021-12-12T00:26:08Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567140#M44414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;0.10.0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To exacerbate the issue, user's are on a mix of Citrix and local installs of ArcGIS desktop!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've got a 10.4 install that has pandas 0.16.1 that will run the .loc and I'll see if your example works.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 14:15:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567140#M44414</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T14:15:36Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567141#M44415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was able to get your suggestion to run.&amp;nbsp; However, it only outputs 2 columns and not what the desired result in my OP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 14:22:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567141#M44415</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T14:22:05Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567142#M44416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As powerful as &lt;SPAN style="font-family: courier new,courier,monospace;"&gt;pandas&lt;/SPAN&gt; is, I find getting data into and out of it cumbersome at times and unnecessary at other times.&amp;nbsp; If the data is already stored where SQL can be used, like a geodatabase, I like pairing ArcPy Data Access cursors, &lt;SPAN style="font-family: courier new,courier,monospace;"&gt;itertools&lt;/SPAN&gt;, and SQL to keep the data in place and do my analysis.&amp;nbsp; My code from &lt;A href="https://community.esri.com/thread/194322" target="_blank"&gt;Deleting records from tabular intersect table based on 'PERCENTAGE' field&lt;/A&gt; can be easily modified to work here:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; itertools &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; groupby
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; operator &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; itemgetter
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; 
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; fc &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;# path to feature class or table&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; case_fields &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"FID_preproc"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; max_field &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Shape_Area"&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; sql_orderby &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"ORDER BY {}, {} DESC"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;", "&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;case_fields&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; max_field&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;UpdateCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; sql_clause&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;None&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; sql_orderby&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; cur&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case_func &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; itemgetter&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cur&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;fields&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;index&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fld&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; fld &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; case_fields&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; key&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; group &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; groupby&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cur&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; case_func&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; next&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;group&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; extra &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; group&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cur&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;deleteRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; cur
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="line-numbers-rows"&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;‍&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;‍&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;‍&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;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;NOTE:&lt;/STRONG&gt; the above code modifies the table in-place so make sure to test it on a copy.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:26:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567142#M44416</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2021-12-12T00:26:11Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567143#M44417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Pandas 0.10.0 is over 4 years old, a lifetime for the SciPy stack.&amp;nbsp; Pandas 0.15.1 was released a month before ArcGIS 10.3, which raises the question of why your Citrix environments are running such an old version of pandas.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 14:31:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567143#M44417</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2017-08-04T14:31:32Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567144#M44418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you post the code back that you are using?&amp;nbsp; When I tested the code on my end, I was able to output all columns in the original table, including the original ObjectID.&amp;nbsp; I am not sure why you would only get 2 columns.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 14:33:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567144#M44418</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2017-08-04T14:33:48Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567145#M44419</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will be processing this feature class in the in_memory workspace -- not sure if that sql will work there.&amp;nbsp; Your pandas solution above will work great.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This solution looks good too!&amp;nbsp; But not sure if that ORDER BY clause will work outside of RDMBS sources.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 14:37:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567145#M44419</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T14:37:31Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567146#M44420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ah -- that was my goof.&amp;nbsp; Yes, you are correct it generates the desired output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Double award points for questioning my obvious flawed assessment!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 14:47:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567146#M44420</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T14:47:20Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567147#M44421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did a quick check using an in-memory table, and the code works the same as having the table in a file geodatabase.&amp;nbsp; As I mentioned before, I am running 10.5.1, which shouldn't make a difference in terms of SQL support with in-memory workspaces, but one never knows.&amp;nbsp; I know in-memory workspaces don't support as much SQL as file geodatabases, but ORDER BY appears to work fine.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 14:48:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567147#M44421</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2017-08-04T14:48:36Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567148#M44422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Excellent!&amp;nbsp; I'll give it a go as well.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 15:09:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567148#M44422</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T15:09:24Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567149#M44423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you want to create a table view of the table and select records, the following works without modifying the original table:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; itertools &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; groupby
&lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; operator &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; itemgetter

tbl &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;# path to table&lt;/SPAN&gt;
case_fields &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"FID_preproc"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
max_field &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Shape_Area"&lt;/SPAN&gt;
sql_orderby &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"ORDER BY {}, {} DESC"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;", "&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;case_fields&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; max_field&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

vw &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MakeTableView_management&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tbl&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"tbl_vw"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;getOutput&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
oidField &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Describe&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;vw&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;OIDFieldName
oids &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;vw&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; sql_clause&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;None&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; sql_orderby&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; cur&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; oidField &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; cur&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;fields&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;index&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;oidField&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; case_func &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; itemgetter&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cur&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;fields&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;index&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fld&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; fld &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; case_fields&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; key&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; group &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; groupby&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cur&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; case_func&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oids&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;append&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;next&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;group&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;oidField&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;continue&lt;/SPAN&gt;

vw&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;setSelectionSet&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"NEW_SELECTION"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; oids&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&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;‍&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;‍&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;‍&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;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:26:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567149#M44423</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2021-12-12T00:26:14Z</dc:date>
    </item>
    <item>
      <title>Re: GroupBy 2 columns and keep all fields</title>
      <link>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567150#M44424</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'll be using the grouped table to join back in with the feature class and calculating a field.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 17:47:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/groupby-2-columns-and-keep-all-fields/m-p/567150#M44424</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2017-08-04T17:47:39Z</dc:date>
    </item>
  </channel>
</rss>

