How to reset index in a pandas data frame?
I have a data frame from which I remove some rows. As a result, I get a data frame in which index is something like that: [1,5,6,10,11]
and I would like to reset it to [0,1,2,3,4]
. How can I do it?
The following seems to work:
df = df.reset_index()
del df['index']
The following does not work:
df = df.reindex()
python indexing pandas dataframe
add a comment |
I have a data frame from which I remove some rows. As a result, I get a data frame in which index is something like that: [1,5,6,10,11]
and I would like to reset it to [0,1,2,3,4]
. How can I do it?
The following seems to work:
df = df.reset_index()
del df['index']
The following does not work:
df = df.reindex()
python indexing pandas dataframe
add a comment |
I have a data frame from which I remove some rows. As a result, I get a data frame in which index is something like that: [1,5,6,10,11]
and I would like to reset it to [0,1,2,3,4]
. How can I do it?
The following seems to work:
df = df.reset_index()
del df['index']
The following does not work:
df = df.reindex()
python indexing pandas dataframe
I have a data frame from which I remove some rows. As a result, I get a data frame in which index is something like that: [1,5,6,10,11]
and I would like to reset it to [0,1,2,3,4]
. How can I do it?
The following seems to work:
df = df.reset_index()
del df['index']
The following does not work:
df = df.reindex()
python indexing pandas dataframe
python indexing pandas dataframe
edited Nov 22 at 18:52
Zoe
11k73675
11k73675
asked Dec 10 '13 at 9:12
Roman
26.9k124274366
26.9k124274366
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
reset_index()
is what you're looking for. If you don't want it saved as a column, then do:
df = df.reset_index(drop=True)
73
Instead of reassign the dataframe to the same variable you can setinplace=True
argument.
– alhuelamo
Feb 24 '16 at 13:03
10
Note that in case ofinplace=True
the method returns None
– alyaxey
Oct 30 '17 at 10:41
add a comment |
Another solutions are assign RangeIndex
or range
:
df.index = pd.RangeIndex(len(df.index))
df.index = range(len(df.index))
It is faster:
df = pd.DataFrame({'a':[8,7], 'c':[2,4]}, index=[7,8])
df = pd.concat([df]*10000)
print (df.head())
In [298]: %timeit df1 = df.reset_index(drop=True)
The slowest run took 7.26 times longer than the fastest. This could mean that an intermediate result is being cached.
10000 loops, best of 3: 105 µs per loop
In [299]: %timeit df.index = pd.RangeIndex(len(df.index))
The slowest run took 15.05 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 7.84 µs per loop
In [300]: %timeit df.index = range(len(df.index))
The slowest run took 7.10 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 14.2 µs per loop
2
@Outcast Source - The fastest islen(df.index)
, 381ns vsdf.shape
1.17us. Oyr something missing?
– jezrael
Jan 3 at 5:15
add a comment |
data1.reset_index(inplace=False)
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%2f20490274%2fhow-to-reset-index-in-a-pandas-data-frame%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
reset_index()
is what you're looking for. If you don't want it saved as a column, then do:
df = df.reset_index(drop=True)
73
Instead of reassign the dataframe to the same variable you can setinplace=True
argument.
– alhuelamo
Feb 24 '16 at 13:03
10
Note that in case ofinplace=True
the method returns None
– alyaxey
Oct 30 '17 at 10:41
add a comment |
reset_index()
is what you're looking for. If you don't want it saved as a column, then do:
df = df.reset_index(drop=True)
73
Instead of reassign the dataframe to the same variable you can setinplace=True
argument.
– alhuelamo
Feb 24 '16 at 13:03
10
Note that in case ofinplace=True
the method returns None
– alyaxey
Oct 30 '17 at 10:41
add a comment |
reset_index()
is what you're looking for. If you don't want it saved as a column, then do:
df = df.reset_index(drop=True)
reset_index()
is what you're looking for. If you don't want it saved as a column, then do:
df = df.reset_index(drop=True)
edited Sep 23 '17 at 15:11
petezurich
3,50581734
3,50581734
answered Dec 10 '13 at 10:19
mkln
5,97131218
5,97131218
73
Instead of reassign the dataframe to the same variable you can setinplace=True
argument.
– alhuelamo
Feb 24 '16 at 13:03
10
Note that in case ofinplace=True
the method returns None
– alyaxey
Oct 30 '17 at 10:41
add a comment |
73
Instead of reassign the dataframe to the same variable you can setinplace=True
argument.
– alhuelamo
Feb 24 '16 at 13:03
10
Note that in case ofinplace=True
the method returns None
– alyaxey
Oct 30 '17 at 10:41
73
73
Instead of reassign the dataframe to the same variable you can set
inplace=True
argument.– alhuelamo
Feb 24 '16 at 13:03
Instead of reassign the dataframe to the same variable you can set
inplace=True
argument.– alhuelamo
Feb 24 '16 at 13:03
10
10
Note that in case of
inplace=True
the method returns None– alyaxey
Oct 30 '17 at 10:41
Note that in case of
inplace=True
the method returns None– alyaxey
Oct 30 '17 at 10:41
add a comment |
Another solutions are assign RangeIndex
or range
:
df.index = pd.RangeIndex(len(df.index))
df.index = range(len(df.index))
It is faster:
df = pd.DataFrame({'a':[8,7], 'c':[2,4]}, index=[7,8])
df = pd.concat([df]*10000)
print (df.head())
In [298]: %timeit df1 = df.reset_index(drop=True)
The slowest run took 7.26 times longer than the fastest. This could mean that an intermediate result is being cached.
10000 loops, best of 3: 105 µs per loop
In [299]: %timeit df.index = pd.RangeIndex(len(df.index))
The slowest run took 15.05 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 7.84 µs per loop
In [300]: %timeit df.index = range(len(df.index))
The slowest run took 7.10 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 14.2 µs per loop
2
@Outcast Source - The fastest islen(df.index)
, 381ns vsdf.shape
1.17us. Oyr something missing?
– jezrael
Jan 3 at 5:15
add a comment |
Another solutions are assign RangeIndex
or range
:
df.index = pd.RangeIndex(len(df.index))
df.index = range(len(df.index))
It is faster:
df = pd.DataFrame({'a':[8,7], 'c':[2,4]}, index=[7,8])
df = pd.concat([df]*10000)
print (df.head())
In [298]: %timeit df1 = df.reset_index(drop=True)
The slowest run took 7.26 times longer than the fastest. This could mean that an intermediate result is being cached.
10000 loops, best of 3: 105 µs per loop
In [299]: %timeit df.index = pd.RangeIndex(len(df.index))
The slowest run took 15.05 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 7.84 µs per loop
In [300]: %timeit df.index = range(len(df.index))
The slowest run took 7.10 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 14.2 µs per loop
2
@Outcast Source - The fastest islen(df.index)
, 381ns vsdf.shape
1.17us. Oyr something missing?
– jezrael
Jan 3 at 5:15
add a comment |
Another solutions are assign RangeIndex
or range
:
df.index = pd.RangeIndex(len(df.index))
df.index = range(len(df.index))
It is faster:
df = pd.DataFrame({'a':[8,7], 'c':[2,4]}, index=[7,8])
df = pd.concat([df]*10000)
print (df.head())
In [298]: %timeit df1 = df.reset_index(drop=True)
The slowest run took 7.26 times longer than the fastest. This could mean that an intermediate result is being cached.
10000 loops, best of 3: 105 µs per loop
In [299]: %timeit df.index = pd.RangeIndex(len(df.index))
The slowest run took 15.05 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 7.84 µs per loop
In [300]: %timeit df.index = range(len(df.index))
The slowest run took 7.10 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 14.2 µs per loop
Another solutions are assign RangeIndex
or range
:
df.index = pd.RangeIndex(len(df.index))
df.index = range(len(df.index))
It is faster:
df = pd.DataFrame({'a':[8,7], 'c':[2,4]}, index=[7,8])
df = pd.concat([df]*10000)
print (df.head())
In [298]: %timeit df1 = df.reset_index(drop=True)
The slowest run took 7.26 times longer than the fastest. This could mean that an intermediate result is being cached.
10000 loops, best of 3: 105 µs per loop
In [299]: %timeit df.index = pd.RangeIndex(len(df.index))
The slowest run took 15.05 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 7.84 µs per loop
In [300]: %timeit df.index = range(len(df.index))
The slowest run took 7.10 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 14.2 µs per loop
answered Aug 15 '17 at 11:40
jezrael
319k22258337
319k22258337
2
@Outcast Source - The fastest islen(df.index)
, 381ns vsdf.shape
1.17us. Oyr something missing?
– jezrael
Jan 3 at 5:15
add a comment |
2
@Outcast Source - The fastest islen(df.index)
, 381ns vsdf.shape
1.17us. Oyr something missing?
– jezrael
Jan 3 at 5:15
2
2
@Outcast Source - The fastest is
len(df.index)
, 381ns vs df.shape
1.17us. Oyr something missing?– jezrael
Jan 3 at 5:15
@Outcast Source - The fastest is
len(df.index)
, 381ns vs df.shape
1.17us. Oyr something missing?– jezrael
Jan 3 at 5:15
add a comment |
data1.reset_index(inplace=False)
add a comment |
data1.reset_index(inplace=False)
add a comment |
data1.reset_index(inplace=False)
data1.reset_index(inplace=False)
edited Nov 22 at 18:52
Zoe
11k73675
11k73675
answered Nov 22 at 18:46
user10692571
211
211
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%2f20490274%2fhow-to-reset-index-in-a-pandas-data-frame%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