python - 如果使用熊猫返回错误,如何删除数据
问题描述
你好,我正在做一个小项目,我试图按年份列出所有版本的节目,但我可以使用的唯一列是一个名为“aired”的列,它有一个像这样的字符串“2015 年 10 月 4 日到2016 年 3 月 27 日"
因为我只需要发布年份,也就是在这种情况下为 2015 年的第一年,然后是我数据集中的所有行。出于这个原因,做了这行代码。
content['airedYear'] = content.aired.str.slice(7,12)
content['airedYear'] = content['airedYear'].str.strip()
content['airedYear'] = pd.to_numeric(content['airedYear'])
我使用了 7 和 12,因为如果发布的日期有 1 位或 2 位数字,那么我将子字符串 1 取大,然后使用 strip 去除将在年份前面或后面留下的空间(不是 100%确定这是否完全有效,但现在似乎有效)。
我的实际问题是有些行根本不遵循这种格式,当我尝试将列转换为数值时,它们会给我错误结果。这是因为某些行将包含单词的一部分而不是实际年份。
我该如何更改或添加此内容,以便我可以删除引起错误的每一行,因为它对我没有用。
(简而言之,我如何将整列转换为数值,如果因为它不是数字而无法转换,那么只需完全删除该行)
感谢您的时间和精力
解决方案
Python 中的错误处理,使用 try 和 except 应该可以完成这项工作。但是,上面的一个更好的解决方案是将字符串切到单词“to”,然后留下一个干净的日期。这有帮助吗?
推荐阅读
- python - for 循环获取 pandas 中的数据框
- excel - 如何创建动态范围和改进 vba 代码
- javascript - 如何发送纯 JSON 对象(位于模型对象内)以在 Spring Boot 中查看?
- java - 如何在 Gradle 中排除 JUnit 作为传递依赖
- c - C: 客户端程序报告 SSL Certificate verify failed 错误 with localCA
- python - 了解递归 canSum 函数
- android - 在模拟器上启动后立即反应本机应用程序崩溃
- haskell - 你如何构图_只用at镜头
- angular - 圈复杂度超过了定义的限制(成本'30')。你的模板应该被重构
- javascript - Node JS Webpack 构建失败