为每个0级索引单独重置1级索引
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为每个0级索引单独重置1级索引相关的知识,希望对你有一定的参考价值。
说我有以下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
答案
达蒙
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
以上是关于为每个0级索引单独重置1级索引的主要内容,如果未能解决你的问题,请参考以下文章