Pandas read \u csv()在read \u csv中的转换器处理丢失的值之前,我可以修复它们吗?

2024-06-17 11:48:55 发布

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

在read_csv中,我使用一个自定义转换器,将时间戳转换为整数。问题是发送到转换器的某些值是错误的,这意味着空字符串或不可数字表示的字符串。你知道吗

每当检测到这些值时,我都试图在转换器内部引发异常,但这似乎不起作用。我知道像dropna()这样的方法,但是只有在将数据加载到内存之后才能应用。我也知道na_values参数,但不太清楚如何使用它来实现这个目的。你知道吗

有没有办法在这些坏值被发送到转换器之前过滤掉它们?你知道吗

下面是输入文件的10行示例,第9行中的值不正确

0:00:00.000 644.2748413
0:00:00.002 644.4001465
0:00:00.004 642.8461914
0:00:00.006 643.7497559
0:00:00.008 644.1955566
0:00:00.010 642.1920166
0:00:00.012 643.4448853
0:00:00.014 #VALUE!
0:00:00.016 644.1955566
0:00:00.018 643.2954102

{}在任何情况下,我都无法使cd3返回值。我假设转换器不完全按顺序处理数据,这也是为什么很难通过使用print语句来跟踪哪些值被卡住的原因。你知道吗

更新2

我发现问题不在转换器处理的timestamp列中(正如您在示例文件中看到的),尽管错误消息指出在调用转换器get的行中有问题,我感到困惑。所以现在更清楚了,虽然我不知道为什么会有误导性的错误信息。我可能可以用na_values来清除一些东西。你知道吗


Tags: 文件csv数据方法内存字符串示例read