Установите значения по диагонали pandas.DataFrame с помощью fill_diagonal () - PullRequest
0 голосов
/ 11 октября 2018

Я хочу установить значения дигонала в pandas.df.Я следовал за ответом в Установить значения по диагонали панд. DataFrame

Решение df.values[[np.arange(df.shape[0])] * 2] = 0 отлично работает.

Но я хочу использовать np.fill_diagonal(df.values, 0), которыйдает AttributeError: у объекта 'DataFrame' нет атрибута 'flat'

1 Ответ

0 голосов
/ 04 апреля 2019

У меня тоже была эта проблема, но я решил ее, когда понял, что np.fill_diagonal() работает на месте .

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)

Я думаю, что выпосмотрим, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...