我有一个名为“nan_test.xlsx”的Excel 文件,如下所示(原始文件有空格,但在 python 中打印时,空格被替换为“NaN”:
ID Month1 Month2 Month3
0 ABC 1.0
1 FFF 2.0 2.0 2.0
2 XYZ 3.0 3.0
我试图获得标准差,同时忽略空白/纳米值。
截至目前,我已经有了这个,但行为到处都是。它正确地对具有 3 个数值、2 个数值和 1 个 nan 值的行执行 std dev,但不适用于具有 2 个 nan 值和 1 个数值的行。
df = pd.read_excel('nan_test.xlsx')
print(df)
df['std'] = np.nanstd(df.iloc[:, 1:], axis=1, ddof=1)
print(df)
ID Month1 Month2 Month3
0 ABC 1.0 NaN NaN
1 FFF 2.0 2.0 2.0
2 XYZ NaN 3.0 3.0
ID Month1 Month2 Month3 std
0 ABC 1.0 NaN NaN NaN
1 FFF 2.0 2.0 2.0 0.0
2 XYZ NaN 3.0 3.0 0.0
跃然一笑
慕盖茨4494581
相关分类