检查 excel table 中的缺失值

Check the missing value in an excel table

我正在处理我的数据可视化作业。首先,我必须检查我找到的数据集,并在必要时进行数据整理。该数据由马德里空气质量的几个粒子指数组成,这些数据是由不同的站点收集的。

我发现 table 中缺少一些值。如何通过工具(python 或 R 或​​ Tableau)快速检查这些缺失值并替换这些值?

python 有几个库可以处理 excel 电子表格。我最喜欢的是 openpyxl。它将电子表格转换为数据框,然后您可以在其中通过坐标定位特定字段。非常方便的是它还可以识别行和列的标签。当然你也可以更新你的表 用它。但要小心,如果您使用的是损坏的代码,您的 xlsx 文件可能会永久损坏

编辑 1:

import openpyxl

wb = openpyxl.load_workbook('filename.xlsx')
# if your worksheet is the first one in the workbook
ws = wb.get_sheet_names(wb.get_sheet_by_name()[0])

for row in ws.iter_rows('G{}:I{}'.format(ws.min_row,ws.max_row)):
    for cell in row:
        if cell.value is None:
           cell.value = 0 

在 Python 中,您可以使用 pandas 模块将 Excel 文件加载为 DataFrame。 Post这个,很容易代入NaN/缺失值。 假设您的 excel 名为 madrid_air.xlsx

    import pandas as pd
    df = pd.read_excel('madrid_air.xlsx')

Post 这样,您将拥有他们所谓的 DataFrame,它由 excel 文件中的数据组成,采用相同的表格格式,包含列名和索引。在 DataFrame 中,缺失值将作为 NaN 值加载。因此,为了获得包含 NaN 值的行,

     df_nan = df[df.isna()]

df_nan 将包含包含 NaN 值的行。

现在,如果您想用 0 填充所有这些 NaN 值。

     df_zerofill = df.fillna(0)

df_zerofill 将整个 DataFrame 的所有 NaN 替换为 0.

为了专门填写列,请使用列名称。

    df[['NO','NO_2']] = df[['NO','NO_2']].fillna(0)

这将用 0 填充 NONO_2 列的缺失值。

阅读更多关于 DataFrame 的信息:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html

阅读更多关于在 DataFrames 中处理缺失数据的信息:https://pandas.pydata.org/pandas-docs/stable/user_guide/missing_data.html

好吧,在Tableau中你可以创建一个工作表,将维度table(蓝色药丸)中的最低粒度级别拖放到其中并放入列(作为度量)在同一图表中。

如果您的 table 是真正的原子,那么您将在右下角的工作表中收到一个响应,告诉您有关空值的信息。单击它可以清除或替换工作簿数据中的这些特定值。

澄清一下,它不是"hi end"和编码方式,而是最简单的方式。

PS:您还可以通过按 "null" 值过滤列来检查 Tableau 的数据输入 window 中的缺失值。

PS2:如果你想动态改变它,你需要使用像这样的公式:

IF ISNULL(Measure1) 
THEN (Measure2) ˜ OR Another Formula
ELSE null 
END