У меня есть следующий df, содержащий ежедневные подсчеты для каждого пользователя:
print(delay_df)
delay_count
C_TIT
20702171 2
20711024 1
...
В частности, индекс представляет уникальный идентификатор пользователя, а «delay_count» - соответствующее значение.
I хотел бы последовательно обновлять основной фрейм данных значениями, содержащимися в ежедневных фреймах данных; на данный момент процедура следующая:
# Initialize an empty df on the first day for global count
delay_global = pd.DataFrame(columns = ["delay_count"])
# Update counts for each user as new data comes in
for user_code in delay_df.index:
# If the index value - client code - exists, update adding, else create a new row
try:
delay_global.loc[user_code] += delay_df.loc[user_code].delay_count
except:
delay_global.loc[user_code] = delay_df.loc[user_code]
Для иллюстрации на примере:
# time 0 - Initialization
delay_global = pd.DataFrame(columns = ["delay_count"])
# time 1
print(delay_df)
delay_count
C_TIT
20702171 2
20711024 1
### delay_global is updated with data from delay_df
print(delay_global)
delay_count
C_TIT
20702171 2
20711024 1
# time 2
print(delay_df)
delay_count
C_TIT
1234 2
20711024 10
### delay_global is updated with data from delay_df
print(delay_global)
delay_count
C_TIT
20702171 2
20711024 11
1234 2
Поскольку я имею дело с большими данными, есть ли более эффективный способ делаете это?