【发布时间】:2019-12-05 22:40:49
【问题描述】:
我正在尝试计算包含大量 np.楠在里面。
我附带了这段代码,顺便说一句,效果很好:
my_df = pd.DataFrame ([[0,10,np.nan,220],\
[1,np.nan,21,221],[2,12,22,np.nan],[np.nan,13,np.nan,np.nan]])
print(my_df.values.flatten()[~np.isnan(my_df.values.flatten())].mean())
但是,我发现这行代码给出了相同的结果,我不明白为什么:
print(my_df.values[~np.isnan(my_df.values)].mean())
真的一样吗,可以放心使用吗?
我的意思是,my_df.values[~np.isnan(my_df.values) 仍然是一个不平坦的数组,那么其中的np.nan 发生了什么?
如果您看到更高效和 Pythonic 的方式来做到这一点,任何改进都是受欢迎的。 非常感谢。
【问题讨论】: