检查Excel表中的缺失值

时间:2019-04-19 02:50:55

标签: python r tableau

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

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

enter image description here

3 个答案:

答案 0 :(得分:0)

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

Edit1:

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 

答案 1 :(得分:0)

在Python中,您可以使用pandas模块将Excel文件加载为DataFrame。发布后,很容易替换NaN / missing值。 假设您的excel名为madrid_air.xlsx

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

发布此文件后,您将拥有一个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)

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

要详细了解DataFramehttps://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html

要详细了解如何处理DataFrame s中的丢失数据:https://pandas.pydata.org/pandas-docs/stable/user_guide/missing_data.html

答案 2 :(得分:0)

好吧,在 Tableau 中,您可以创建一个工作表,将n的最低粒度级别拖放到尺寸表(蓝色药丸)中,然后将列(作为度量)放在同一张图表中。

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

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

PS:您还可以通过按“空”值过滤列来检查Tableau数据输入窗口中是否缺少值。

PS2:如果要动态更改,则需要使用以下公式:

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