python - 使用 Pandas 和有效值列表检测 CSV 列中的拼写错误

标签 python validation csv pandas data-analysis

我在 CSV 中有一些数据,我想对其进行一些分析,以检查数据的质量。我一直在使用 Pandas,因为从 CSV 加载数据非常容易。

我想知道什么是比较一系列值中的所有值以查看它是否存在于另一个值列表中的最有效方法?我想这样做是为了检查一个值中是否有任何错误CSV。然后我将使用这些值来尝试清理数据。数据可能非常大。

例如。

我有一个 CSV,其中包含人们列出的居住地郊区的数据。其中许多都是手动输入的,可能容易出现拼写错误、拼写错误等。

为了检查这一点,我有一个包含有效郊区名称的列表。我将迭代一系列中的每个值,并将其与有效郊区列表中的每个值进行比较。然后返回所有无效的唯一值。

  1. 从 csv 中读取值

    df = read_csv(“user_address”)
    
  2. 提取我想要使用的系列(郊区),并从系列中获取所有唯一的字符串,以减少我必须执行的比较方法的数量

    series = df['Suburb'].unique()
    
  3. 迭代每个唯一的字符串,查看它是否与列表中存储的任何有效郊区名称匹配

    L = ......list of suburbs
    
    for value in series:
         if value not in L:
             print value #Will use value for something more in reality
    
  4. 返回与任何有效郊区名称都不匹配的字符串

最佳答案

isin() 方法为您完成此操作,并且是 pandas 的一部分。它的功能是将列与值数组进行比较,如果 pandas 数据框中的值在数组中,则返回 True,否则返回 False。

values_not_in_array = df[~df.Suburb.isin(L)].Suburb
values_in_array = df[df.Suburb.isin(L)].Suburb

关于python - 使用 Pandas 和有效值列表检测 CSV 列中的拼写错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23577020/

相关文章:

python - 使用 Fabric 1.6.0 设置 $PATH 变量

python - 如何通过discord.py获取用户在使用Discord时玩过的所有游戏

python - 通过api创建用户keycloak并分配客户端角色realm-managment

jquery - 将 jQuery 与 Flask 结合使用 : how to prevent jumping to top of page on form submission?

c++ - 使用 XML 模式类型的 Qt GUI 输入验证

javascript - 使用没有指令的 JavaScript 函数的 Angularjs 表单/字段验证

python - 按列名对 CSV 进行排序

c++ - 如何将 CSV 文件导入 QTableWidget

PHP - 将对象数组导出为 CSV

python - 如何在 Pandas Python 3.X 中划分两个数据帧,并将 NaN、inf 值替换为 0