Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
321 views
in Technique[技术] by (71.8m points)

python - Pandas - return a dataframe after groupby

I have a Pandas df:

Name    No
A       1
A       2
B       2
B       2
B       3

I want to group by column Name, sum column No and then return a 2-column dataframe like this:

Name    No
A       3
B       7

I tried:

df.groupby(['Name'])['No'].sum()

but it does not return my desire dataframe. I can't add the result to a dataframe as a column.

Really appreciate any help

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Add parameter as_index=False to groupby:

print (df.groupby(['Name'], as_index=False)['No'].sum())
  Name  No
0    A   3
1    B   7

Or call reset_index:

print (df.groupby(['Name'])['No'].sum().reset_index())
  Name  No
0    A   3
1    B   7

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...