我想根据行的范围删除某些行:我觉得它看起来像下面的
df.drop(df.index[[0,1,2,3]])
这样只会删除我的前两行但是我想删除那些行,当且仅当行范围为空时。所以
Name
Macy
June
Jackson
所以我只想通过数据框并删除该范围内的行,当且仅当它们没有数据时,我的新数据框将如下所示:
Name
Macy
June
Jackson
答案 0 :(得分:1)
您不需要drop语句中的df.index
。但是,如果您只想保留填充Name
列的行,则可以使用:
> df_filter = df [df.Name != '']
如果您真的想根据索引找到行,可以使用
> df_filter = df.drop([0,2])
答案 1 :(得分:1)
您可以使用df.ix
获取例外项目,然后使用None
方法删除dropna()
:
df.ix[indices].dropna()
演示:
In [48]: df
Out[48]:
name
0 None
1 Macy
2 June
3 None
4 Jackson
In [49]: df.ix[[0,1,2,3]].dropna()
Out[49]:
name
1 Macy
2 June
注意:正如评论中所述,由于不推荐ix
方法,您可以使用df.loc()
代替。