pandas删除包含指定内容的行

Outline

处理数据时,遇到文件中包含一些不需要的数据(行),需要把这些不符合要求的行给删除掉。

例如:该数据中应该都是2000年的数据,但是包含了一些2001年的数据,所以需要把2001年的数据给删除掉。

技术分享图片

筛选出指定行

 找到所有包含2000年的数据:

source_df[(source_df[date].map(lambda d: d.split(/)[0])).isin([‘2000’])] # source_df 为读取的csv文件对象

根据pandas中取反操作:”~“, 取出所有不包含2000年的数据:

source_df[~(source_df[date].map(lambda d: d.split(/)[0])).isin([year])]

技术分享图片

删除不合法数据

source_df.drop(source_df[~(source_df[date].map(lambda d:d.split(/)[0])).isin([year])].index)  # 根据 drop和index 删除包含2001的数据

删除后DataFrame中就只包含2000年的数据

技术分享图片

 

文章来自:https://www.cnblogs.com/bigtreei/p/10165031.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3