如何在未知列名时按列索引删除DataFrame首列为空的行?
实现方法
完全可以通过列位置指定判断列,不需要提前知道列名,两种常用方案如下:
- 方案1:沿用
dropna写法,动态取第一列的列名传入subset参数df.columns[0]会直接返回第一列的实际列名,不需要你手动指定,写法和你原来的用法适配性最高:
df = df.dropna(axis=0, subset=[df.columns[0]])
- 方案2:用布尔索引直接筛选,逻辑更直观
通过iloc[:, 0]按位置取第一列,直接判断非空后过滤行,写法更简洁:
df = df[df.iloc[:, 0].notna()]
两种方案都可以实现需求,如果你需要调整判断的列位置,只要修改对应索引值即可(索引从0开始计数,第一列对应0,第二列对应1,以此类推)。
内容的提问来源于stack exchange,提问作者marlon
相关产品推荐
相关产品推荐

