删除行索引数据框架pandas

bry*_*bee 5 python pandas

给出一个df

in[0]df1
out[0]
        DATE    REVENUE    COST    POSITION
FACTOR
0    2017/01/01    1000    900    10
1    2017/01/01    900     700    9
2    2017/01/01    1100    800    7
Run Code Online (Sandbox Code Playgroud)

我有一个额外的行FACTOR.尝试reset_index()和其他方式后,我无法删除FACTOR多(行)索引.有办法吗?

我知道删除列并重置索引很常见,但不是这样.

Mr.*_*man 8

我希望这有效:)

df.reset_index(inplace=True) # Resets the index, makes factor a column
df.drop("Factor",axis=1,inplace=True) # drop factor from axis 1 and make changes permanent by inplace=True
Run Code Online (Sandbox Code Playgroud)


zip*_*ipa 7

尝试使用:

df1.reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud)

这会将索引重置为默认的整数索引,并删除原始的整数索引。如果要将此更改分配给原始更改,则更dataframe易于使用:

df1.reset_index(drop=True, inplace=True)
Run Code Online (Sandbox Code Playgroud)

因为它将编辑df1数据框而不复制它。


Max*_*axU 5

FACTOR 是索引的名称-您不必担心-它不会影响您的数据:

In [78]: df
Out[78]:
              DATE  REVENUE  COST  POSITION
FACTOR
10      2017/01/01     1000   900        10
11      2017/01/01      900   700         9
12      2017/01/01     1100   800         7

In [79]: df.index.name
Out[79]: 'FACTOR'
Run Code Online (Sandbox Code Playgroud)

如果要重命名或摆脱它(保留索引值),可以使用DataFrame.rename_axis()方法:

In [80]: df = df.rename_axis(None)

In [81]: df
Out[81]:
          DATE  REVENUE  COST  POSITION
10  2017/01/01     1000   900        10
11  2017/01/01      900   700         9
12  2017/01/01     1100   800         7

In [82]: df.index.name is None
Out[82]: True
Run Code Online (Sandbox Code Playgroud)