python-3.x - 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
我想删除以“平均率”开头的行。有什么属性支持吗?还是我们需要迭代?
解决方案
DataFrame
最简单的过滤器是由布尔掩码创建后的过滤器,其反转条件为~
and boolean indexing
:
pandasDF = pandasDF[~pandasDF['col'].str.startswith('Average rate')]
或者如果需要按值过滤:
pandasDF = pandasDF[~pandasDF['col'].eq('Average rate')]
推荐阅读
- swift - 从具有不同背景选项的同一 iOS 应用程序投射音乐和视频不起作用
- javascript - 考虑向树中添加错误边界以自定义错误处理行为
- r - 在 TUKEY 测试中更改重要性字母的顺序
- r - 在没有 RSelenium 的情况下在 R 中抓取帧?
- react-native - 如何将对象映射到 Material-ui 输出
- azure - 如何创建 Azure API 网关资源?
- php - 使用 Symfony 5/Twig“数组到字符串转换”的嵌套数组问题
- java - 我得到一个变量值为零,即使它在java中分配了一些值
- angular - SASS 样式未完全加载
- node.js - 将信息从数据库返回到服务器 - 异步/回调函数语法?