如何在python熊猫中删除索引中的NAN?

时间:2018-10-06 15:01:19

标签: python pandas data-science

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。

,如果您使用的是python最新版本。

df.loc[df.index.dropna()]

如果您使用的是熊猫版>= 0.20.0,则可以:

df[df.index.notnull()]

如果您使用的是旧版本,则可以尝试。.

df[pd.notnull(df.index)]

OR

df.reset_index(drop=True)

如@ gyx-hh所建议

 df.reset_index(inplace=True, drop=True)

示例集:

>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame({'Date': [0, 1, 2, 0, 1, 2], 'Name': ['A', 'B', 'C', 'A', 'B', 'C'], 'val': [0, 1, 2, 3, 4, 5]}, index=[np.nan, np.nan, np.nan, np.nan, np.nan, np.nan])
>>> df
     Date Name  val
NaN     0    A    0
NaN     1    B    1
NaN     2    C    2
NaN     0    A    3
NaN     1    B    4
NaN     2    C    5

a)

>>> df = df.reset_index(drop=True)
>>> df
   Date Name  val
0     0    A    0
1     1    B    1
2     2    C    2
3     0    A    3
4     1    B    4
5     2    C    5

注意:我没有保留其他答案,例如df.reset_index(inplace=True, drop=True),因为它会在我们使用inplace=True时修改原始dataFrame。