首页 > 解决方案 > 如果使用熊猫返回错误,如何删除数据

问题描述

你好,我正在做一个小项目,我试图按年份列出所有版本的节目,但我可以使用的唯一列是一个名为“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%确定这是否完全有效,但现在似乎有效)。

我的实际问题是有些行根本不遵循这种格式,当我尝试将列转换为数值时,它们会给我错误结果。这是因为某些行将包含单词的一部分而不是实际年份。

我该如何更改或添加此内容,以便我可以删除引起错误的每一行,因为它对我没有用。

(简而言之,我如何将整列转换为数值,如果因为它不是数字而无法转换,那么只需完全删除该行)

感谢您的时间和精力

标签: pythondatabasepandasmatplotlibanaconda

解决方案


Python 中的错误处理,使用 try 和 except 应该可以完成这项工作。但是,上面的一个更好的解决方案是将字符串切到单词“to”,然后留下一个干净的日期。这有帮助吗?


推荐阅读