Python 检查excel表格中缺少的值

Python 检查excel表格中缺少的值,python,r,tableau-api,Python,R,Tableau Api,我正在完成我的数据可视化任务。首先,我必须检查我发现的数据集,如果必要的话,进行数据争用。数据包括马德里空气质量的几个颗粒物指数,这些数据由不同的台站收集 我发现表中缺少一些值。如何使用工具(python、R或Tableau)快速检查缺少的值并替换这些值 python有几个库可用于处理excel电子表格。我最喜欢的是openpyxl。它将电子表格转换为一个数据框,在该数据框中,您可以通过它的坐标来处理特定字段。它非常方便,因为它还可以识别行和列的标签。当然,您也可以更新表 用它。但是要小心,如果

我正在完成我的数据可视化任务。首先,我必须检查我发现的数据集,如果必要的话,进行数据争用。数据包括马德里空气质量的几个颗粒物指数,这些数据由不同的台站收集

我发现表中缺少一些值。如何使用工具(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
加载。在此之后,很容易替换
NaN
/缺少的值。 假设您的excel名为
madrid\u air.xlsx

    import pandas as pd
    df = pd.read_excel('madrid_air.xlsx')
在此之后,您将拥有一个他们称之为
DataFrame
的数据框架,它由excel文件中的数据组成,数据格式与列名和索引相同。在数据帧中,缺少的值将作为
NaN
值加载。因此,为了获得包含
NaN
值的行

     df_nan = df[df.isna()]
df_nan
将包含包含
nan
值的行

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

     df_zerofill = df.fillna(0)
df_zerofill
将使用0替换所有
NaN
s的整个数据帧

为了明确填写Coulmn,请使用coumn名称

    df[['NO','NO_2']] = df[['NO','NO_2']].fillna(0)
这将用0填充
NO
NO_2
列缺少的值

要阅读有关数据帧的更多信息,请执行以下操作:


要阅读有关处理
DataFrame
s中缺失数据的更多信息:

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

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

只是澄清一下,这不是“高端”和编码方式,而是最简单的方式

PS:您还可以通过按“null”值筛选列来检查Tableau的数据输入窗口中缺少的值

PS2:如果你想动态改变它,你需要使用如下公式:

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

你想用什么来替换它们?在R中,读取数据时最容易做到这一点-使用类似
的数据可能重复的东西顺便问一下,你认为应该用什么值来替换?与上一个小时的数字相同,或者得到上一个小时和下一个小时之间的平均数?因此,如果我想用与上一个小时相同的数字替换这些NaN,如何?Thanks@JenniferChen使用df.fillna(method='pad')。在这种情况下,将使用列中的上一个值。如果第一个值和第二个值为
NaN
s,则第二个值不会有任何更改。您认为有必要在创建模型之前替换这些值吗?由于观测机或其他原因,某些NaN可能丢失。是否尝试使用此数据集构建模型?它没有抛出错误吗?此外,是否需要替换
NaN
值取决于数据集。如果您有一个庞大的数据集,有时可以删除整行,其中包含
NaN
值。有时你必须更换它们。但是,让它保持原样在大多数情况下都会抛出一个
NaN
错误。我的导师建议我的案例可以用ARIMA完成,我还没有开始,只是考虑到之前的数据争论。这是我的数据集来源的网站,。它有18个表,我发现连续小时仍有大量缺失值,例如,从上午0点到上午10点,所有索引数据都缺失。