首页 > 解决方案 > pandas read_excel 如何跳过带有某些特定文本的行

问题描述

我想跳过一些以某些特定文本开头的行。

代码:

pandasDF = pd.read_excel("/Users/user1/Documents/filename.xls", sheet_name='Rates',header=1, comment='Note:', usecols=columns_list)
print(pandasDF)

输出:

0             01-01-2001  1.002500  1.601591  ...        NaN      NaN       NaN
1             02-01-2001  0.978400  1.608285  ...        NaN      NaN       NaN
2             03-01-2001  0.962800  1.606327  ...        NaN      NaN       NaN
3             04-01-2001  0.956900  1.591041  ...        NaN      NaN       NaN
4             05-01-2001  0.911300  1.567882  ...        NaN      NaN       NaN
5           Average rate  0.906352  1.544086  ...        NaN      NaN       NaN
6             06-01-2001  0.927400  1.571944  ...        NaN      NaN       NaN
7             07-01-2001  0.958600  1.558775  ...        NaN      NaN       NaN
8             08-01-2001  0.926600  1.546576  ...        NaN      NaN       NaN
9             09-01-2001  0.889100  1.549333  ...        NaN      NaN       NaN
10            10-01-2001  0.882500  1.525312  ...        NaN      NaN       NaN
11            11-01-2001  0.853910  1.512577  ...        NaN      NaN       NaN
12          Average rate  0.906352  1.544086  ...        NaN      NaN       NaN

我想删除以“平均率”开头的行。有什么属性支持吗?还是我们需要迭代?

标签: python-3.xpandas

解决方案


DataFrame最简单的过滤器是由布尔掩码创建后的过滤器,其反转条件为~and boolean indexing

pandasDF = pandasDF[~pandasDF['col'].str.startswith('Average rate')]

或者如果需要按值过滤:

pandasDF = pandasDF[~pandasDF['col'].eq('Average rate')]

推荐阅读