我有一个+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()
答案 0 :(得分:2)
您可以将前20列的名称转换为列表:
df_final.groupby(by=df_final.columns[:20].tolist(),as_index=False).sum()