gpt4 book ai didi

python - 使用 fill_diagonal() 设置 pandas.DataFrame 对角线上的值

转载 作者:行者123 更新时间:2023-12-01 08:56:14 27 4
gpt4 key购买 nike

我想在 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' object has no attribute 'flat'

最佳答案

我也遇到了这个问题,但当我意识到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)

我想你会看到你正在寻找的东西。

关于python - 使用 fill_diagonal() 设置 pandas.DataFrame 对角线上的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52755516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com