熊猫在解析日期失败时删除行

2024-09-30 05:24:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个问题,我以为熊猫馆的聪明人早就解决了,但我似乎什么也找不到,所以我来了。在

我遇到的问题源于一些糟糕的数据,我希望熊猫能够在阅读时过滤。 数据如下:

Station;Datum;Zeit;Lufttemperatur;Relative Feuchte;Wettersymbol;Windgeschwindigkeit;Windrichtung
9;12.11.2016;08:04;-1.81;86;;;
9;12.11.2016;08:19;-1.66;85.5;;;
9;²;08:34;-1.71;85.6;;;
9;12.11.2016;08:49;-1.91;87.7;;;
9;12.11.2016;09:04;-1.66;86.6;;;

(这是使用ISO-8859-1字符集,它在UTF-8等中看起来不同)我想把第二列作为日期来读,所以很自然,我使用

^{pr2}$

它给了

ValueError: time data '²' does not match format '%d.%m.%Y' (match)

尽管熊猫.read_csv有一个输入参数error\u bad\u lines这看起来对我的案例有帮助,它所做的只是过滤掉没有正确列数的行。现在,我可以用许多不同的方法过滤掉这一行,而且据我所知,所有这些方法都要求首先加载所有数据,过滤掉行,然后将列转换为datetime对象,但我宁愿在读取文件时这样做。这似乎是有可能的,因为当我不使用date_解析器时,文件被成功解析,奇怪的字符就保持原样(尽管这可能会在以后执行日期时间指令时产生问题)。在

有没有一种方法可以让pandas在读取文件时而不是在后处理过程中过滤掉它不能使用date_解析器的行?在


Tags: 文件数据方法解析器datematchstationrelative

热门问题