我收集了一些云的传感器值(csv文件),并注意到了一个问题,我认为我可以通过将不同的列合并到一个表中来解决这个问题。我有下表:
Sensor1x, Sensor1y, Sensor1z, Sensor2x, Sensor2y, Sensor2z
12.1, 0.1, 0.2, 2.2, 3.3, 2.2
NaN, NaN, NaN, NaN, NaN, 4.5,
etc.
当我尝试从传感器1列中删除NaN值时,由于某种原因,传感器2列中的所有值都设置为0,而所有NaN值都从传感器1列中删除(因此至少NaN部分适用于特定列)。另一件奇怪的事情是,我只选择从一列中删除NaN值(例如Sensor1x),但它们在所有x、y和z列中都被删除
因此,由于这会导致前3列被填充,最后3列为null,我想我可以将删除的Nan列保存在1个变量中,并对我的Sensor2列执行相同的操作,这将给出以下两个变量:
第一个变量:
Sensor1x, Sensor1y, Sensor1z, Sensor2x, Sensor2y, Sensor2z
12.1, 0.1, 0.2, 0, 0, 0,
etc.
第二个变量:
Sensor1x, Sensor1y, Sensor1z, Sensor2x, Sensor2y, Sensor2z
0, 0, 0, 2.2, 3.3, 2.2,
etc.
我如何组合这两个变量以得到完整的表格
我目前在Jupyter笔记本中使用的简单代码:
SDO = pd.read_csv('SensorOutputData202021.csv')
SDO = SDO[SDO['Ax'].notna()]
SDO
我用来打印数据框和删除na值的3行代码。以及出于某种原因使我的三列中其余部分的值为空的代码行
我的当前传感器表的图像:
下面是我在Ax上使用notna函数时发生的情况:
目前,您正在使用^{} 方法,该方法返回列('Ax')的掩码:Trues在value处,false在NaNs处。那么你可以打电话:
您正在删除
Ax is None
所在的每一行您不能从表中“删除”Nones,因为您应该保留其结构
除了
notna()
之外,我建议您寻找以下方法:你也可以阅读pandas documentation的这一部分
因此,根据您将要对数据执行的操作,您应该使用NaN数据完全删除行,或者使用可以在代码中以有意义的方式处理的内容替换这些NaN
相关问题 更多 >
编程相关推荐