Kar*_*mar 6

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

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

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

如果您使用 pandas 版本,>= 0.20.0您可以:

df[df.index.notnull()]
Run Code Online (Sandbox Code Playgroud)

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

df[pd.notnull(df.index)]
Run Code Online (Sandbox Code Playgroud)

或者

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

正如@gyx-hh 所建议的

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

示例集:

>>> 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

注意:我没有保留其他答案,df.reset_index(inplace=True, drop=True)因为它会修改我们正在使用的原始数据帧inplace=True