我想在pandas.df中设置数字符号的值。我在Set values on the diagonal of pandas.DataFrame上遵循了答案
df.values[[np.arange(df.shape[0])] * 2] = 0
的解决方案很好。
但是我希望使用np.fill_diagonal(df.values, 0)
,它给出了AttributeError:'DataFrame‘对象没有属性’平面‘
发布于 2019-04-04 09:10:14
我也有这个问题,但当我意识到np.fill_diagonal()
works in-place时,它就解决了。
np.fill_diagonal(df,0)
给了我您描述的AttributeError:
,np.fill_diagonal(df.values,0)
返回了None
,所以如果您执行如下操作:
df_zeros = np.fill_diagonal(df.values,0)
print(df_zeros)
或者尝试在其他地方使用结果,但是如果您这样做了:
np.fill_diagonal(df.values,0)
print(df)
我想你会看到你在找什么。
https://stackoverflow.com/questions/52755516
复制相似问题