检查 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 填充 NO
和 NO_2
列的缺失值。
阅读更多关于 DataFrame
的信息:https://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
好吧,在Tableau中你可以创建一个工作表,将维度table(蓝色药丸)中的最低粒度级别拖放到其中并放入列(作为度量)在同一图表中。
如果您的 table 是真正的原子,那么您将在右下角的工作表中收到一个响应,告诉您有关空值的信息。单击它可以清除或替换工作簿数据中的这些特定值。
澄清一下,它不是"hi end"和编码方式,而是最简单的方式。
PS:您还可以通过按 "null" 值过滤列来检查 Tableau 的数据输入 window 中的缺失值。
PS2:如果你想动态改变它,你需要使用像这样的公式:
IF ISNULL(Measure1)
THEN (Measure2) ˜ OR Another Formula
ELSE null
END
我正在处理我的数据可视化作业。首先,我必须检查我找到的数据集,并在必要时进行数据整理。该数据由马德里空气质量的几个粒子指数组成,这些数据是由不同的站点收集的。
我发现 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 填充 NO
和 NO_2
列的缺失值。
阅读更多关于 DataFrame
的信息:https://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
好吧,在Tableau中你可以创建一个工作表,将维度table(蓝色药丸)中的最低粒度级别拖放到其中并放入列(作为度量)在同一图表中。
如果您的 table 是真正的原子,那么您将在右下角的工作表中收到一个响应,告诉您有关空值的信息。单击它可以清除或替换工作簿数据中的这些特定值。
澄清一下,它不是"hi end"和编码方式,而是最简单的方式。
PS:您还可以通过按 "null" 值过滤列来检查 Tableau 的数据输入 window 中的缺失值。
PS2:如果你想动态改变它,你需要使用像这样的公式:
IF ISNULL(Measure1)
THEN (Measure2) ˜ OR Another Formula
ELSE null
END