根据索引而不是熊猫Groupby语句中的标签对许多列进行分组

时间:2018-08-14 07:04:30

标签: python pandas group-by

我有一个+60列的数据框。我需要按两列分组,并且只需要对一列值求和。问题是如果我不手动在groupby语句中键入所有列标签的名称,则不包含的列将不会出现在输出中。

而不是像这样的东西:

<h1>Topics</h1>
<table class="table">
<% @topics.each do |t| %>
  <%= link_to t.topic,topic_posts_path(topic_id: t.id) %><%= "(# . 
t.posts_count})" %><br>
  <%@posts= t.posts%>
  <% @posts.each_with_index do |p, index| %>
    <%if index <= 1%>
      <li>
        <%=link_to p.title,topic_post_path(topic_id: p.topic_id,id: p.id) %><br>
      </li>
    <%end%>
  <%end%>
  <%= link_to "more..", topic_posts_path(t.id)%><br>
  <br>
<%= link_to "Add Topic",new_topic_path %>
</table>

我想做这样的事情:

df_final.groupby(by=['OrderNo','ItemSKU','CustName',.......'20th Column'],as_index=False).sum()

该如何避免输入所有这些列名?

这是列数据类型的打印:

df_final.groupby(by=[:20],as_index=False).sum()

1 个答案:

答案 0 :(得分:2)

您可以将前20列的名称转换为列表:

df_final.groupby(by=df_final.columns[:20].tolist(),as_index=False).sum()