python - 使用 dtype 读取文件处理 pandas 中的缺失值

标签 python pandas missing-data

我正在使用 dtype 读取一堆 CSV 文件来指定每列的数据类型:

dict_tpye = {"columns_1":"int","column_2":"str"}
pd.read_csv(path,dtype=dict_tpye)

我在执行此操作时遇到的问题是具有非浮点值的列缺少行,这些行会上升并出错。我该如何处理这个问题?

在这种情况下,我希望使用默认值,例如数字值使用 0,名称使用空字符串。

最佳答案

考虑使用字典的converters参数,将用户定义函数的结果映射到导入的列。下面的用户定义方法使用内置的 isdigit()如果字符串中的所有字符都是数字,则返回 True;如果至少有一个不是数字,则返回 False;和 isalpha()作为字符串对应项。根据需要进行调整,尤其是对于字符串,因为您可以在其内容中允许数字:

import pandas as pd

cleanFloat = lambda x: float(x if x.isdigit() else 0) 
cleanString = lambda x: str(x if x.isalpha() else '')

dict_convert = {1:cleanFloat, 2:cleanString,}
dict_type = {"columns_1":"int","column_2":"str"}

df = pd.read_csv('Input.csv', converters=dict_convert, dtype=dict_type)

关于python - 使用 dtype 读取文件处理 pandas 中的缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41324143/

相关文章:

Java 或 SQL 在数组中添加缺失的月份

python - 将 base64 编码的字符串转换为十六进制 int

python - 比较后如何从数据框中删除行

python - 将元组分配给 pandas 数据帧的多个元素

c++ - QTableWidget省略了一些items,items被创建但被忽略

使用BERT接口(interface)将缺失值的excel数组读入R

python - 使用Python telnet lib w/o logout命令

python - 从 pickle 加载的 HMM 看起来未经训练

python - 使用 python 在 Elasticsearch 中批量部分更新插入

python - 如何在 dask 数据框中添加反射(reflect)日期值(来自列)是否是假期成员的列