python - 熊猫数据框中看不到一些空行
问题描述
背景:
我正在阅读一个包含超过 40K+ 行的大型 CSV 文件,因此它需要对数据进行如此多的修改,我没有任何问题,因为我在过去几个月使用熊猫。
问题:在 CSV 文件中,它包含许多空行,其中仅包含一种称为 EOL 的隐藏字符
问题: Panda 忽略的行包含隐藏字符 EOL:
我试图在这里分享示例数据,但隐藏的角色被删除了,所以我分享了一个显示隐藏角色的快照。
这个网站我用来获取上述信息 dostring.com/show-hidden-characters
我在这个论坛上遇到了非常流行的问题,但没有任何帮助。建议一些其他的解决方案
在这里,我如何知道一些空行在 DF 中不可见:
检查空值计数
df.example_column.isnull().sum()
结果得到了一些计数
列数据类型的转换:
df.example_column = df.example_column.astype('str')
当我使用上述转换命令时,它将空列标记为“nan”
再次检查
isnull().sum()
现在为零的计数最后,我以 CSV 格式取出数据,但看到一些空行,现在这很奇怪
然后我使用以下命令在运行时查看行
df[165:175]
再次让我感到惊讶,当您在 MS Office 中打开第 168 行和第 169 行时,它是空的。在控制台中,我只能看到一行是空的,即 169,并且它被 Panda 标记为“nan”,同时行号 168 被替换为 167 的数据。
这种情况存在于整个工作表(CSV)中,熊猫只是在运行时忽略了一个空行,但在 MS Office 中您可以看到这些行。我试图在这里分享示例数据,但隐藏的角色被删除了,所以我分享了一个显示隐藏角色的快照。
供参考,
这是我在读取 CSV 文件时使用的设置:
sep=",", skipinitialspace=False, skip_blank_lines=False, encoding='utf-8'
解决方案
推荐阅读
- reactjs - 更新状态时如何防止反应弹簧动画?
- java - Spring boot - 当响应主体有两个参数指向同一个实例时出现问题
- docker - 使用 cAdvisor 和 Prometheus 监控未命名容器
- arduino - ESP32 - Preferences.h 不写入 EEPROM
- firebase - 从 Saleforce 发送或编辑 Firebase 数据
- azure-data-factory - ADF 将 json 数据推送到 SQL
- jpa - 如何使用 JPA 将共享接口的枚举映射到实体的列?
- python - 在 FLASK 中的单个 API 中发布图像和 json 数据
- aem - _cq_dialog.xml _cq_dialog/.content.xml 之间有什么区别吗?
- java - 如何在 oracle atg 11.3.2 中使用“编辑器类”属性?