Массовый расчет между фреймами данных и создание нового столбца - PullRequest
0 голосов
/ 19 июня 2020

У меня есть два фрейма данных (df1 и df2) с аналогичными показателями (MetricA / MetricA1 и MetricB / MetricB1). Я хочу вычислить дельту между ними в третьем столбце в df1 (как концептуально показано в df3). Как лучше всего это сделать, не набирая каждый cal c индивидуально? Представление ниже:

import pandas as pd
import numpy as np
df1=pd.DataFrame(np.random.randint(0,100,size=(15, 2)), columns=['MetricA', 'MetricB'])
df2=pd.DataFrame(np.random.randint(0,100,size=(15, 2)), columns=['MetricA1', 'MetricB1'])
df3=df2=pd.DataFrame(np.random.randint(0,100,size=(15, 4)), columns=['MetricA', 'MetricB','DeltaMetricAAndA1', 'DeltaMetricBAndB1'])

1 Ответ

0 голосов
/ 19 июня 2020

Вы можете выполнить соединение:

df3 = df1.join(df1.sub(df2.values).add_prefix("Delta"))

Вывод:

    MetricA  MetricB  DeltaMetricA  DeltaMetricB
0        17       42           -49           -29
1        20       48           -33           -21
2        22       13           -14            -8
3        97       53            57           -24
4        84       10            -7           -39
5        96       55            49           -22
6        61       56            21           -22
7        89       21            44           -66
8        96       83            80            55
9        25       14           -20           -53
10       13       84           -53             6
11       43        6            -3             6
12       77       56            48            -7
13       59       15           -16           -20
14       24        9           -29           -84
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...