我尝试使用以下代码删除数据集中的所有无穷大和NaN值:
#loading data
data_path = os.path.join('/home/~/Desktop/~/~/rf_recordings', 'WiFi_1.iqt')
nframes = 644571
iqdata = iqtools.GRData(data_path, fs = 5.12e+007, center=2.4415e+009)
iqdata.read_complete_file()
x_data = iqdata.get_spectrogram(nframes, lframes=1)
#trying to replace each inf and -inf into nan, then replace nan with mean value of x_data
df = pd.DataFrame(data = x_data)
df.replace([np.inf, -np.inf], np.nan)
df = np.nan_to_num(df, nan = np.mean(x_data[1]))
print(df)
但是我得到的结果显示,原来的NAN被更改为np.mean(x_data[1])
,但是将inf
更改为nan
不起作用,如下所示:
以前
tensor([[[[0.0000e+00, 0.0000e+00, 0.0000e+00]]],
[[[0.0000e+00, 0.0000e+00, 0.0000e+00]]],
[[[0.0000e+00, 0.0000e+00, 0.0000e+00]]],
...,
[[[ nan, nan, inf]]],
[[[2.5295e-38, nan, nan]]],
[[[ nan, nan, nan]]]])
之后
tensor([[[[0.0000e+00, 0.0000e+00, 0.0000e+00]]],
[[[0.0000e+00, 0.0000e+00, 0.0000e+00]]],
[[[0.0000e+00, 0.0000e+00, 0.0000e+00]]],
...,
[[[5.2155e-03, 5.2155e-03, inf]]],
[[[2.5295e-38, 5.2155e-03, 5.2155e-03]]],
[[[5.2155e-03, 5.2155e-03, 5.2155e-03]]]])
请问我有什么办法可以修改/改进吗
DataFrame.replace()
默认情况下不工作,它返回一个新的数据帧替代品
与以下任何一项:
或
有时建议使用前者,因为后者将修改对象的任何其他视图
相关问题 更多 >
编程相关推荐