Как эффективно умножить все недиагональные элементы на константу в DataFrame pandas?Python

Программы на Python
Ответить
Anonymous
 Как эффективно умножить все недиагональные элементы на константу в DataFrame pandas?

Сообщение Anonymous »

У меня есть квадратная матрица затрат, хранящаяся как DataFrame pandas. Строки и столбцы представляют позиции [i, j], и я хочу умножить все недиагональные элементы (где i != j) на константу c, не используя циклы for из соображений производительности.
Есть ли эффективный способ добиться этого в pandas или мне придется переключиться на numpy, а затем вернуться к pandas, чтобы выполнить эту задачу?
Пример
import pandas as pd

# Sample DataFrame
cost_matrix = pd.DataFrame([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])

# Constant
c = 4

# Desired output
# 1 8 12
# 16 5 24
# 28 16 9


Подробнее здесь: https://stackoverflow.com/questions/791 ... n-a-pandas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»