Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.05.2021
Сообщений: 2

Оптимизировать запрос с df.loc[]

08.05.2021, 10:51. Показов 870. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.


Задача: отфильтровать повторные действия пользователя из данных в датафрейме.


Так получаю пользователей и время их повторных действий
Code
1
2
3
4
5
6
7
8
9
10
11
gr = multi_session[['uid', 'timestamp']].sort_values('timestamp').groupby('uid')['timestamp'].apply(list).str[1:]
 
uid
d2fc057fef61         [2020-12-01 14:38:54.617 UTC]
491ac30c41db       [2020-12-03 07:33:09.927 UTC]
997ce84c0393       [2020-12-07 09:33:49.533 UTC]
da453053c6b4       [2020-11-28 16:29:54.266 UTC]
c96ba54b33d5       [2020-11-29 11:53:21.416 UTC]
948a7816ae36       [2020-11-30 15:07:38.821 UTC, 2020-12-03 03:33...
941d02d7608d       [2020-12-10 10:48:16.865 UTC]
fdb0f4d2aef0          [2020-12-01 19:23:40.317 UTC, 2020-12-06 12:35...
Далее хочу им проставить метку.

Так получается, но очень медленно (фильтрация всех данных на каждой итерации)

Code
1
2
for i,v in gr.items():
    data.loc[(data.uid==i)&(data.timestamp.isin(v)), 'group'] = 'retr'
Думал, что можно предварительно выделить подобласть subset = data[data.uid.isin(multi_session.uid.unique() )] и обработать в цикле её, но выдает ошибку:
A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead


Как можно векторизовать или оптимизировать этот запрос?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.05.2021, 10:51
Ответы с готовыми решениями:

Координаты loc.getLatitude() и loc.getLongitude()
Доброго времени суток. Есть код public class MyLocationListener implements LocationListener { @Override public void...

Люди, если кто решил оптимизировать запрос в Google Places под запрос учтите что...
Люди, если кто решил оптимизировать запрос в Google Places под запрос учтите что этот запрос выпадет из generic выдачи и будет токо в гугл...

Оптимизировать запрос!
Всем хорошего дня! Написал запрос, который выбирает записи из более чем 500 тыс. записей select mo.OBJID, max(mp.LAT) as X,...

2
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
08.05.2021, 15:36
tesdrv, Может так?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import pandas as pd
import numpy as np
import datetime as DT
 
np.random.seed(10)
data = pd.DataFrame(np.random.randint(1, 5, 25) ,columns = ['uid'])
date1, date2 = DT.datetime(2020, 1, 1), DT.datetime(2020, 1, 25)
data['timestamp'] = pd.date_range(date1, date2).strftime('%d-%m-%Y').tolist()
 
 
gr = data[['uid', 'timestamp']].groupby('uid')['timestamp'].apply(list).str[1:]
 
###############################################
data['group'] = data.uid.map(gr)
data.group = np.where(data.apply(lambda x :  x.timestamp in x.group,1), 'retr', '')
###############################################
 
data
1
0 / 0 / 0
Регистрация: 08.05.2021
Сообщений: 2
09.05.2021, 07:12  [ТС]
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.05.2021, 07:12
Помогаю со студенческими работами здесь

Оптимизировать запрос
Добрий день! (SELECT nvl(:date_on,pkg_common.getsystemday) arcdate FROM dual ) date_on если по договору били движения то запрос...

Оптимизировать запрос?
Доброй ночи. Подскажите вот в базе у меня есть таблица, id|model|shirina|md 1|Activan|20|1 2|Acnivan|30|1 3|G-FORGE|30|2 ...

Оптимизировать запрос
Добрый день. Подскажите пожалуйста можно ли как то оптимизировать такой запрос занимает очень много ресурсов где сравниваются значения...

Оптимизировать запрос
Товарищи, погите пожалуйста оптимизировать запрос: SELECT * FROM (SELECT per_sex, age, avg(LOSS) AS AvgLoss FROM Выборка ...

Оптимизировать запрос
В базе есть примерно 25000 записей-товаров. У каждого есть запись - номер категории. Каждая категория может иметь подкатегории, всего до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru