Панды умножают два фрейма данных, чтобы получить продукт

У меня есть два фрейма данных с разными именами переменных

df1 = pd.DataFrame({'A':[2,2,3],'B':[5,5,6]})
>>> df1
   A  B
0  2  5
1  2  5
2  3  6
df2 = pd.DataFrame({'C':[3,3,3],'D':[5,5,6]})
>>> df2
   C  D
0  3  5
1  3  5
2  3  6

Я хочу создать третий фрейм данных, где n-й столбец является продуктом n-го столбца в первых двух фреймах данных. В приведенном выше примере df3 будет иметь два столбца X и Y, где df.X = df.A * df.C и df.Y = df.B * df.D

df3 = pd.DataFrame({'X':[6,6,9],'Y':[25,25,36]})
>>> df3
   X   Y
0  6  25
1  6  25
2  9  36

Есть ли простая функция pandas, которая позволяет мне это делать?

Добро пожаловать в StackOverflow. Пожалуйста, прочтите и следуйте инструкциям по публикации в справочной документации, как было предложено при создании этой учетной записи. Здесь применяются По теме, как спросить и ... идеальный вопрос. StackOverflow - это не ресурс для дизайна, программирования, исследований или учебных пособий. Однако, если вы следите за любыми ресурсами, которые найдете в сети, сделаете честную попытку кодирования и столкнетесь с проблемой, у вас будет хороший пример для публикации.

Prune 30.10.2018 00:13
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
2 655
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать mul, чтобы умножить df1 на значения df2:

df3 = df1.mul(df2.values)
df3.columns = ['X','Y']

>>> df3
   X   Y
0  6  25
1  6  25
2  9  36

Вы также можете использовать numpy как:

df3 = np.multiply(df1, df2)

Примечание: для большинства операций с numpy будут использоваться Pandas Series или DataFrame.

Другие вопросы по теме