Python, pandas: how to sort dataframe by index
When there is an DataFrame like the following:
import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])
How can I sort this dataframe by index with each combination of index and column value intact?
python pandas
add a comment |
When there is an DataFrame like the following:
import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])
How can I sort this dataframe by index with each combination of index and column value intact?
python pandas
add a comment |
When there is an DataFrame like the following:
import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])
How can I sort this dataframe by index with each combination of index and column value intact?
python pandas
When there is an DataFrame like the following:
import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])
How can I sort this dataframe by index with each combination of index and column value intact?
python pandas
python pandas
edited Mar 5 '14 at 23:42
Paul H
31k9101110
31k9101110
asked Mar 5 '14 at 23:35
midtowngurumidtownguru
7412919
7412919
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Dataframes have a sort_index
method which returns a copy by default. Pass inplace=True
to operate in place.
import pandas as pd
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df.sort_index(inplace=True)
print(df.to_string())
Gives me:
A
1 4
29 2
100 1
150 5
234 3
Thanks! It works!
– midtownguru
Mar 5 '14 at 23:43
add a comment |
Slightly more compact:
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort()
print(df)
Note:
- the standard
sort
will do the same thing as sort_index if a sort column isn't specified. - preferable not to use
inplace
as it is usually harder to read and prevents chaining. See the answer here:
Pandas: peculiar performance drop for inplace rename after dropna
Edit sort
has now been deprecated leaving sort_index
as the replacement for this scenario.
6
.sort()
docstring saysDEPRECATED: use DataFrame.sort_values()
– endolith
Jul 3 '16 at 17:47
1
@endolith Indeed.sort()
has since been deprecated. The replacement would be.sort_index()
as Paul H uses in his answer, in which case the only difference between our answers is I don't useinplace=True
.
– fantabolous
Jan 16 '17 at 23:52
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%2f22211737%2fpython-pandas-how-to-sort-dataframe-by-index%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Dataframes have a sort_index
method which returns a copy by default. Pass inplace=True
to operate in place.
import pandas as pd
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df.sort_index(inplace=True)
print(df.to_string())
Gives me:
A
1 4
29 2
100 1
150 5
234 3
Thanks! It works!
– midtownguru
Mar 5 '14 at 23:43
add a comment |
Dataframes have a sort_index
method which returns a copy by default. Pass inplace=True
to operate in place.
import pandas as pd
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df.sort_index(inplace=True)
print(df.to_string())
Gives me:
A
1 4
29 2
100 1
150 5
234 3
Thanks! It works!
– midtownguru
Mar 5 '14 at 23:43
add a comment |
Dataframes have a sort_index
method which returns a copy by default. Pass inplace=True
to operate in place.
import pandas as pd
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df.sort_index(inplace=True)
print(df.to_string())
Gives me:
A
1 4
29 2
100 1
150 5
234 3
Dataframes have a sort_index
method which returns a copy by default. Pass inplace=True
to operate in place.
import pandas as pd
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df.sort_index(inplace=True)
print(df.to_string())
Gives me:
A
1 4
29 2
100 1
150 5
234 3
answered Mar 5 '14 at 23:41
Paul HPaul H
31k9101110
31k9101110
Thanks! It works!
– midtownguru
Mar 5 '14 at 23:43
add a comment |
Thanks! It works!
– midtownguru
Mar 5 '14 at 23:43
Thanks! It works!
– midtownguru
Mar 5 '14 at 23:43
Thanks! It works!
– midtownguru
Mar 5 '14 at 23:43
add a comment |
Slightly more compact:
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort()
print(df)
Note:
- the standard
sort
will do the same thing as sort_index if a sort column isn't specified. - preferable not to use
inplace
as it is usually harder to read and prevents chaining. See the answer here:
Pandas: peculiar performance drop for inplace rename after dropna
Edit sort
has now been deprecated leaving sort_index
as the replacement for this scenario.
6
.sort()
docstring saysDEPRECATED: use DataFrame.sort_values()
– endolith
Jul 3 '16 at 17:47
1
@endolith Indeed.sort()
has since been deprecated. The replacement would be.sort_index()
as Paul H uses in his answer, in which case the only difference between our answers is I don't useinplace=True
.
– fantabolous
Jan 16 '17 at 23:52
add a comment |
Slightly more compact:
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort()
print(df)
Note:
- the standard
sort
will do the same thing as sort_index if a sort column isn't specified. - preferable not to use
inplace
as it is usually harder to read and prevents chaining. See the answer here:
Pandas: peculiar performance drop for inplace rename after dropna
Edit sort
has now been deprecated leaving sort_index
as the replacement for this scenario.
6
.sort()
docstring saysDEPRECATED: use DataFrame.sort_values()
– endolith
Jul 3 '16 at 17:47
1
@endolith Indeed.sort()
has since been deprecated. The replacement would be.sort_index()
as Paul H uses in his answer, in which case the only difference between our answers is I don't useinplace=True
.
– fantabolous
Jan 16 '17 at 23:52
add a comment |
Slightly more compact:
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort()
print(df)
Note:
- the standard
sort
will do the same thing as sort_index if a sort column isn't specified. - preferable not to use
inplace
as it is usually harder to read and prevents chaining. See the answer here:
Pandas: peculiar performance drop for inplace rename after dropna
Edit sort
has now been deprecated leaving sort_index
as the replacement for this scenario.
Slightly more compact:
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort()
print(df)
Note:
- the standard
sort
will do the same thing as sort_index if a sort column isn't specified. - preferable not to use
inplace
as it is usually harder to read and prevents chaining. See the answer here:
Pandas: peculiar performance drop for inplace rename after dropna
Edit sort
has now been deprecated leaving sort_index
as the replacement for this scenario.
edited May 23 '17 at 11:46
Community♦
11
11
answered Jul 20 '14 at 2:14
fantabolousfantabolous
8,04032837
8,04032837
6
.sort()
docstring saysDEPRECATED: use DataFrame.sort_values()
– endolith
Jul 3 '16 at 17:47
1
@endolith Indeed.sort()
has since been deprecated. The replacement would be.sort_index()
as Paul H uses in his answer, in which case the only difference between our answers is I don't useinplace=True
.
– fantabolous
Jan 16 '17 at 23:52
add a comment |
6
.sort()
docstring saysDEPRECATED: use DataFrame.sort_values()
– endolith
Jul 3 '16 at 17:47
1
@endolith Indeed.sort()
has since been deprecated. The replacement would be.sort_index()
as Paul H uses in his answer, in which case the only difference between our answers is I don't useinplace=True
.
– fantabolous
Jan 16 '17 at 23:52
6
6
.sort()
docstring says DEPRECATED: use DataFrame.sort_values()
– endolith
Jul 3 '16 at 17:47
.sort()
docstring says DEPRECATED: use DataFrame.sort_values()
– endolith
Jul 3 '16 at 17:47
1
1
@endolith Indeed
.sort()
has since been deprecated. The replacement would be .sort_index()
as Paul H uses in his answer, in which case the only difference between our answers is I don't use inplace=True
.– fantabolous
Jan 16 '17 at 23:52
@endolith Indeed
.sort()
has since been deprecated. The replacement would be .sort_index()
as Paul H uses in his answer, in which case the only difference between our answers is I don't use inplace=True
.– fantabolous
Jan 16 '17 at 23:52
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.
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%2f22211737%2fpython-pandas-how-to-sort-dataframe-by-index%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