Как добавить столбец в фрейм данных из другого фрейма данных с другим размером - PullRequest
0 голосов
/ 19 октября 2019

У меня есть 2 фрейма данных, и я хочу добавить новый столбец в один из моих фреймов данных из другого фрейма данных '' '

(df1)                            
Id   height  ...                 
12   190
13   180
34   173

. ,.

(df2)
Id     amount  ...
12      234
15      256
13      248

. ,.

'' 'как я могу добавить столбец «сумма» к df1, который содержит значение суммы df2 для каждого идентификатора df1. размеры df1 и df2 не равны

Ответы [ 2 ]

2 голосов
/ 19 октября 2019

Вы можете merge два кадра данных в столбце Id и затем присвоить результирующий столбец amount первому df:

import pandas as pd

df1 = pd.DataFrame(
    {"Id": [12, 13, 34], "height": [1, 2, 3]}
)
df2 = pd.DataFrame(
    {"Id": [12, 15, 13], "amount": [4, 5, 6]}
)

df1["amount"] = df1.merge(df2, on="Id")["amount"]

Результат:

>>> print(df1)

   Id  height  amount
0  12       1     4.0
1  13       2     6.0
2  34       3     NaN
0 голосов
/ 19 октября 2019

Id Id - индексный столбец, для этого можно использовать метод обновления

df1 = pd.DataFrame([[12, 190.0], [13, 180.0], [34, 173.0]], columns=('Id', 'height')).set_index("Id")

df2 = pd.DataFrame([[12, 234.0], [15, 256.0], [13, 248.0]], columns=('Id', 'amount')).set_index("Id")

df1["amount"] = np.nan
df1.update(df2, overwrite=True)
print(df1)

Результат

    height  amount
Id                
12   190.0   234.0
13   180.0   248.0
34   173.0     NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...