我正在分配数据可视化。首先,我必须检查找到的数据集,并在必要时进行数据整理。数据由马德里空气质量的多个颗粒指数组成,这些数据是由不同站点收集的。
我发现表中缺少一些值。如何通过工具(python或R或Tableau)快速检查那些缺少的值并替换那些值?
答案 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)
这会将NO
和NO_2
列的缺失值填充为0。
要详细了解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
答案 2 :(得分:0)
好吧,在 Tableau 中,您可以创建一个工作表,将n的最低粒度级别拖放到尺寸表(蓝色药丸)中,然后将列(作为度量)放在同一张图表中。
如果您的表确实是原子的,那么您将在工作表的右下角得到一个响应,告诉您有关空值的信息。单击它可以清除或替换工作簿数据中的这些特定值。
只需澄清一下,它不是“ hi end”和编码方式,而是最简单的方式。
PS:您还可以通过按“空”值过滤列来检查Tableau数据输入窗口中是否缺少值。
PS2:如果要动态更改,则需要使用以下公式:
IF ISNULL(Measure1)
THEN (Measure2) ˜ OR Another Formula
ELSE null
END