说我有以下DataFrame:
col1 col2
index0 index1
A 0 10 nan
1 11 31
2 12 32
B 0 20 nan
1 21 41
2 22 42
我现在要删除所有带有nans的行,保留0级索引,然后重置每个1级索引,使它们从0开始:
>>> df.dropna(inplace=True)
col1 col2
index0 index1
A 1 11 31
2 12 32
B 1 21 41
2 22 42
>>> somehow reset the level 1 indexes
col1 col2
index0 index1
A 0 11 31
1 12 32
B 0 21 41
1 22 42
答案 0 :(得分:0)
IIUC
s=df.dropna()
s.assign(index1=s.groupby(level=0).cumcount()).set_index('index1',append=True).reset_index(level=1,drop=True)
Out[1210]:
col1 col2
index0 index1
A 0 11 31.0
1 12 32.0
B 0 21 41.0
1 22 42.0