Pandas group by aggregation function - Remove Top Level headers
I have used following aggregation dictionary:
fare_agg = {
'Fare_amount': {
'mean_fare_amount':'mean',
'meadian_fare_amount': 'median'
},
'Total_amount':{
'mean_total_amount':'mean',
'median_total_amount':'median'
},
'Trip_distance':{
'mean_trip_distance':'mean',
'median_trip_distance':'median'
}
}
df_g = df_a.groupby('type').agg(fare_agg)
When I save the data to the csv it comes up with two level headers. I tried to remove df_a.columns = df_a.columns.droplevel(0) but that didn't work. Then tried to reset_index(inplace=True) but that also didn't work. Whats the trick to get only the second level header.
Here is how the csv header looks like:
type,Trip_distance,Trip_distance,Fare_amount,Fare_amount,Total_amount,Total_amount
,mean_trip_distance,median_trip_distance,mean_fare_amount,meadian_fare_amount,median_total_amount,mean_total_amount
python pandas
add a comment |
I have used following aggregation dictionary:
fare_agg = {
'Fare_amount': {
'mean_fare_amount':'mean',
'meadian_fare_amount': 'median'
},
'Total_amount':{
'mean_total_amount':'mean',
'median_total_amount':'median'
},
'Trip_distance':{
'mean_trip_distance':'mean',
'median_trip_distance':'median'
}
}
df_g = df_a.groupby('type').agg(fare_agg)
When I save the data to the csv it comes up with two level headers. I tried to remove df_a.columns = df_a.columns.droplevel(0) but that didn't work. Then tried to reset_index(inplace=True) but that also didn't work. Whats the trick to get only the second level header.
Here is how the csv header looks like:
type,Trip_distance,Trip_distance,Fare_amount,Fare_amount,Total_amount,Total_amount
,mean_trip_distance,median_trip_distance,mean_fare_amount,meadian_fare_amount,median_total_amount,mean_total_amount
python pandas
1
Possible duplicate of Python Pandas - How to flatten a hierarchical index in columns. If this doesn't help, I strongly suggest you provide a Minimal, Complete, and Verifiable example.
– jpp
Nov 20 at 17:52
Related? stackoverflow.com/questions/22233488/…
– Evan
Nov 20 at 19:32
add a comment |
I have used following aggregation dictionary:
fare_agg = {
'Fare_amount': {
'mean_fare_amount':'mean',
'meadian_fare_amount': 'median'
},
'Total_amount':{
'mean_total_amount':'mean',
'median_total_amount':'median'
},
'Trip_distance':{
'mean_trip_distance':'mean',
'median_trip_distance':'median'
}
}
df_g = df_a.groupby('type').agg(fare_agg)
When I save the data to the csv it comes up with two level headers. I tried to remove df_a.columns = df_a.columns.droplevel(0) but that didn't work. Then tried to reset_index(inplace=True) but that also didn't work. Whats the trick to get only the second level header.
Here is how the csv header looks like:
type,Trip_distance,Trip_distance,Fare_amount,Fare_amount,Total_amount,Total_amount
,mean_trip_distance,median_trip_distance,mean_fare_amount,meadian_fare_amount,median_total_amount,mean_total_amount
python pandas
I have used following aggregation dictionary:
fare_agg = {
'Fare_amount': {
'mean_fare_amount':'mean',
'meadian_fare_amount': 'median'
},
'Total_amount':{
'mean_total_amount':'mean',
'median_total_amount':'median'
},
'Trip_distance':{
'mean_trip_distance':'mean',
'median_trip_distance':'median'
}
}
df_g = df_a.groupby('type').agg(fare_agg)
When I save the data to the csv it comes up with two level headers. I tried to remove df_a.columns = df_a.columns.droplevel(0) but that didn't work. Then tried to reset_index(inplace=True) but that also didn't work. Whats the trick to get only the second level header.
Here is how the csv header looks like:
type,Trip_distance,Trip_distance,Fare_amount,Fare_amount,Total_amount,Total_amount
,mean_trip_distance,median_trip_distance,mean_fare_amount,meadian_fare_amount,median_total_amount,mean_total_amount
python pandas
python pandas
asked Nov 20 at 17:50
Null-Hypothesis
5,5483099171
5,5483099171
1
Possible duplicate of Python Pandas - How to flatten a hierarchical index in columns. If this doesn't help, I strongly suggest you provide a Minimal, Complete, and Verifiable example.
– jpp
Nov 20 at 17:52
Related? stackoverflow.com/questions/22233488/…
– Evan
Nov 20 at 19:32
add a comment |
1
Possible duplicate of Python Pandas - How to flatten a hierarchical index in columns. If this doesn't help, I strongly suggest you provide a Minimal, Complete, and Verifiable example.
– jpp
Nov 20 at 17:52
Related? stackoverflow.com/questions/22233488/…
– Evan
Nov 20 at 19:32
1
1
Possible duplicate of Python Pandas - How to flatten a hierarchical index in columns. If this doesn't help, I strongly suggest you provide a Minimal, Complete, and Verifiable example.
– jpp
Nov 20 at 17:52
Possible duplicate of Python Pandas - How to flatten a hierarchical index in columns. If this doesn't help, I strongly suggest you provide a Minimal, Complete, and Verifiable example.
– jpp
Nov 20 at 17:52
Related? stackoverflow.com/questions/22233488/…
– Evan
Nov 20 at 19:32
Related? stackoverflow.com/questions/22233488/…
– Evan
Nov 20 at 19:32
add a comment |
1 Answer
1
active
oldest
votes
This should do what you want:
df_g.columns = df_g.columns.droplevel(-1)
Example:
df = pd.DataFrame({'type':['a','a','b','b'],'Fare_amount':[2,5,3,4],
'Total_amount':[2,3,4,1],'Trip_distance' :[2,2,4,4]})
df_g = df.groupby('type').agg(fare_agg)
df_g.columns = df_g.columns.droplevel(-1)
print(df_g)
Fare_amount Fare_amount Total_amount Total_amount Trip_distance
type
a 3.5 3.5 2.5 2.5 2
b 3.5 3.5 2.5 2.5 4
Trip_distance
type
a 2
b 4
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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%2f53398740%2fpandas-group-by-aggregation-function-remove-top-level-headers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
This should do what you want:
df_g.columns = df_g.columns.droplevel(-1)
Example:
df = pd.DataFrame({'type':['a','a','b','b'],'Fare_amount':[2,5,3,4],
'Total_amount':[2,3,4,1],'Trip_distance' :[2,2,4,4]})
df_g = df.groupby('type').agg(fare_agg)
df_g.columns = df_g.columns.droplevel(-1)
print(df_g)
Fare_amount Fare_amount Total_amount Total_amount Trip_distance
type
a 3.5 3.5 2.5 2.5 2
b 3.5 3.5 2.5 2.5 4
Trip_distance
type
a 2
b 4
add a comment |
This should do what you want:
df_g.columns = df_g.columns.droplevel(-1)
Example:
df = pd.DataFrame({'type':['a','a','b','b'],'Fare_amount':[2,5,3,4],
'Total_amount':[2,3,4,1],'Trip_distance' :[2,2,4,4]})
df_g = df.groupby('type').agg(fare_agg)
df_g.columns = df_g.columns.droplevel(-1)
print(df_g)
Fare_amount Fare_amount Total_amount Total_amount Trip_distance
type
a 3.5 3.5 2.5 2.5 2
b 3.5 3.5 2.5 2.5 4
Trip_distance
type
a 2
b 4
add a comment |
This should do what you want:
df_g.columns = df_g.columns.droplevel(-1)
Example:
df = pd.DataFrame({'type':['a','a','b','b'],'Fare_amount':[2,5,3,4],
'Total_amount':[2,3,4,1],'Trip_distance' :[2,2,4,4]})
df_g = df.groupby('type').agg(fare_agg)
df_g.columns = df_g.columns.droplevel(-1)
print(df_g)
Fare_amount Fare_amount Total_amount Total_amount Trip_distance
type
a 3.5 3.5 2.5 2.5 2
b 3.5 3.5 2.5 2.5 4
Trip_distance
type
a 2
b 4
This should do what you want:
df_g.columns = df_g.columns.droplevel(-1)
Example:
df = pd.DataFrame({'type':['a','a','b','b'],'Fare_amount':[2,5,3,4],
'Total_amount':[2,3,4,1],'Trip_distance' :[2,2,4,4]})
df_g = df.groupby('type').agg(fare_agg)
df_g.columns = df_g.columns.droplevel(-1)
print(df_g)
Fare_amount Fare_amount Total_amount Total_amount Trip_distance
type
a 3.5 3.5 2.5 2.5 2
b 3.5 3.5 2.5 2.5 4
Trip_distance
type
a 2
b 4
answered Dec 1 at 19:04
nixon
3,2521221
3,2521221
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f53398740%2fpandas-group-by-aggregation-function-remove-top-level-headers%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
1
Possible duplicate of Python Pandas - How to flatten a hierarchical index in columns. If this doesn't help, I strongly suggest you provide a Minimal, Complete, and Verifiable example.
– jpp
Nov 20 at 17:52
Related? stackoverflow.com/questions/22233488/…
– Evan
Nov 20 at 19:32