У меня есть два фрейма данных с разными именами переменных
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, которая позволяет мне это делать?
Вы можете использовать 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.
Добро пожаловать в StackOverflow. Пожалуйста, прочтите и следуйте инструкциям по публикации в справочной документации, как было предложено при создании этой учетной записи. Здесь применяются По теме, как спросить и ... идеальный вопрос. StackOverflow - это не ресурс для дизайна, программирования, исследований или учебных пособий. Однако, если вы следите за любыми ресурсами, которые найдете в сети, сделаете честную попытку кодирования и столкнетесь с проблемой, у вас будет хороший пример для публикации.