Python groupby sum and wanted to know the top 3 sum
up vote
0
down vote
favorite
import pandas as pd
df = pd.DataFrame({'customer': [1,2,1,3,1,2,3],
"group_code": ['111', '111', '222',
'111', '111', '111', '333'],
"ind_code": ['A', 'B', 'AA', 'A',
'AAA', 'C', 'BBB'],
"amount": [100, 200, 140, 400, 225,
125, 600],
"card": ['XXX', 'YYY', 'YYY', 'XXX',
'XXX', 'YYY', 'XXX']})
agg = df.groupby(['card', 'group_code']).agg({'amount':'sum'}).reset_index()
mask = agg.groupby('card') ['amount'].transform(max) == agg['amount']
result = agg[mask]
print(result)
With the above data frame , i wanted to group by card no and get the group code which has the max sum of amount for each card.
Expected dataframe should have the below 3 columns :
Card , Highest Total sum of amount by groupwise, name of the group which has the highest total sum
I am getting the answer as expected.
Suppose,Instead of getting the Maximum sum and corresponding group code . In larger picture, i have a huge huge data set with 14 GB. In that case can you help me in getting the Top 3 Group codes for a particular Card based on the sum of Amount.
Kindly help
python pandas-groupby
add a comment |
up vote
0
down vote
favorite
import pandas as pd
df = pd.DataFrame({'customer': [1,2,1,3,1,2,3],
"group_code": ['111', '111', '222',
'111', '111', '111', '333'],
"ind_code": ['A', 'B', 'AA', 'A',
'AAA', 'C', 'BBB'],
"amount": [100, 200, 140, 400, 225,
125, 600],
"card": ['XXX', 'YYY', 'YYY', 'XXX',
'XXX', 'YYY', 'XXX']})
agg = df.groupby(['card', 'group_code']).agg({'amount':'sum'}).reset_index()
mask = agg.groupby('card') ['amount'].transform(max) == agg['amount']
result = agg[mask]
print(result)
With the above data frame , i wanted to group by card no and get the group code which has the max sum of amount for each card.
Expected dataframe should have the below 3 columns :
Card , Highest Total sum of amount by groupwise, name of the group which has the highest total sum
I am getting the answer as expected.
Suppose,Instead of getting the Maximum sum and corresponding group code . In larger picture, i have a huge huge data set with 14 GB. In that case can you help me in getting the Top 3 Group codes for a particular Card based on the sum of Amount.
Kindly help
python pandas-groupby
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
import pandas as pd
df = pd.DataFrame({'customer': [1,2,1,3,1,2,3],
"group_code": ['111', '111', '222',
'111', '111', '111', '333'],
"ind_code": ['A', 'B', 'AA', 'A',
'AAA', 'C', 'BBB'],
"amount": [100, 200, 140, 400, 225,
125, 600],
"card": ['XXX', 'YYY', 'YYY', 'XXX',
'XXX', 'YYY', 'XXX']})
agg = df.groupby(['card', 'group_code']).agg({'amount':'sum'}).reset_index()
mask = agg.groupby('card') ['amount'].transform(max) == agg['amount']
result = agg[mask]
print(result)
With the above data frame , i wanted to group by card no and get the group code which has the max sum of amount for each card.
Expected dataframe should have the below 3 columns :
Card , Highest Total sum of amount by groupwise, name of the group which has the highest total sum
I am getting the answer as expected.
Suppose,Instead of getting the Maximum sum and corresponding group code . In larger picture, i have a huge huge data set with 14 GB. In that case can you help me in getting the Top 3 Group codes for a particular Card based on the sum of Amount.
Kindly help
python pandas-groupby
import pandas as pd
df = pd.DataFrame({'customer': [1,2,1,3,1,2,3],
"group_code": ['111', '111', '222',
'111', '111', '111', '333'],
"ind_code": ['A', 'B', 'AA', 'A',
'AAA', 'C', 'BBB'],
"amount": [100, 200, 140, 400, 225,
125, 600],
"card": ['XXX', 'YYY', 'YYY', 'XXX',
'XXX', 'YYY', 'XXX']})
agg = df.groupby(['card', 'group_code']).agg({'amount':'sum'}).reset_index()
mask = agg.groupby('card') ['amount'].transform(max) == agg['amount']
result = agg[mask]
print(result)
With the above data frame , i wanted to group by card no and get the group code which has the max sum of amount for each card.
Expected dataframe should have the below 3 columns :
Card , Highest Total sum of amount by groupwise, name of the group which has the highest total sum
I am getting the answer as expected.
Suppose,Instead of getting the Maximum sum and corresponding group code . In larger picture, i have a huge huge data set with 14 GB. In that case can you help me in getting the Top 3 Group codes for a particular Card based on the sum of Amount.
Kindly help
python pandas-groupby
python pandas-groupby
asked Nov 21 at 13:28
Sheriff
52
52
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53413126%2fpython-groupby-sum-and-wanted-to-know-the-top-3-sum%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown