Улучшить множественное слияние фреймов данных - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть следующие фреймы данных:

print(inventory_df)

dt_op        Prod_1  Prod_2 ... Prod_n
10/09/18       0        0         0
11/09/18       0        0         0
12/09/18       0        0         0

...

print(final_inspect)

    dt_op        Prod_1  
    10/09/18       10       
    11/09/18       2                
    12/09/18       5  

print(updated_df)
    dt_op        Prod_1  Prod_2 ... Prod_n
    10/09/18      10        0         0
    11/09/18       2        0         0
    12/09/18       5        0         0

    ...       

Я пытаюсь обновить фрейм данных " inventory_df ", значения которого содержатся в "final_inspect", чтобы получить" updated_df"с:

final_inspect = pd.DataFrame(data = {'dt_op': inspect["dt_op"] , j: inventory}) 
final_inspect_1 = pd.DataFrame(data = {'dt_op':inventory_df.dt_op }) 

final_inspect_1 = final_inspect_1.merge(final_inspect, on = "dt_op", how = "left").fillna(0)
inventory_df = inventory_df.merge(final_inspect_1, on = ["dt_op", j], how = "outer").fillna(0)

inventory_df = inventory_df.drop_duplicates(subset=None, keep='first', inplace=False)

Решение громоздкое, но функция update из pandas не , кажется, работает (инвентаризация_df.update (final_inspect)).

Как я могу улучшить это решение, чтобы запустить его на нескольких (3000) элементах?

NB * Размер из updated_df должен быть таким же , как inventory_df , и nrows of final_inspect меньше, чем nrows ofinventory_df.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...