Python: Рассчитать разницу во времени в соответствии с условиями

Вы можете просто сделать

1) Если вы хотите добавить одну запись

def update_tags(ref, new_tag):
    coll.update({'ref': ref}, {'$push': {'tags': new_tag}})

, например:

{
    "_id" : ObjectId("561c199e038e42b10956e3fc"),
    "tags" : [ "tag1", "tag2", "tag3" ],
    "ref" : "4780"
}
>> update_tags("4780", "tag4")
{'updatedExisting': True, u'nModified': 1, u'ok': 1, u'n': 1}
>> coll.find_one({"ref":"4780"})
{
    "_id" : ObjectId("561c199e038e42b10956e3fc"),
    "tags" : [ "tag1", "tag2", "tag3" , "tag4" ],
    "ref" : "4780"
}

2) Если вы хотите для добавления нескольких записей

def update_tags(ref, new_tag):
    coll.update({'ref': ref}, {'$pushAll': {'tags': new_tag}}) #type of new_tag is list

например:

{
    "_id" : ObjectId("561c199e038e42b10956e3fc"),
    "tags" : [ "tag1", "tag2", "tag3" ],
    "ref" : "4780"
}
>> update_tags("4780", ["tag5", "tag6", "tag7"])
{'updatedExisting': True, u'nModified': 1, u'ok': 1, u'n': 1}
>> coll.find_one({"ref":"4780"})
{
    "_id" : ObjectId("561c199e038e42b10956e3fc"),
    "tags" : [ "tag1", "tag2", "tag3" , "tag4" , "tag5", "tag6", "tag7" ],
    "ref" : "4780"
}

Примечание: Если ключ еще не присутствует, то mongo создаст новый ключ.

1
задан dkk 15 January 2019 в 22:50
поделиться

2 ответа

Что, если при нажатии мыши вы сравниваете временную метку для этой нажатой мыши с предыдущей зарегистрированной временной меткой?

подобно объявлению переменной с именем last_timestamp, а затем в новом действии создайте новое, сравните, запишите разницу, затем измените значение last_timestamp на самое новое

0
ответ дан Duke 15 January 2019 в 22:50
поделиться

После исследований я построил этот скрипт (я думаю, что в записи у меня есть набор данных, называемый «данные»):

import pandas as pd
data_2 = data.sort_values(by='timestamp', ascending=False)
data_2.index = pd.RangeIndex(len(data_2.index))
data_2['timestamp_diff'] = '?'
for i in data_2['action']: 
  index_i = int(data_2[data_2['action']==i].index[0])
  delta = 0
  for j in range(index_i,len(data_2['action'])) : 
    if 'mouse' in data_2['action'][j] and 'pressed' in data_2['action'][j]:
      delta+=1
      if delta ==data_2['count'][index_i]:
        print(data_2['count'][index_i])
        data_2['timestamp_diff'][index_i] = round(data_2['timestamp'][index_i] - data_2['timestamp'][j],3)

    else :
      delta = delta

data = data_2.sort_values(by='timestamp')
data.index = pd.RangeIndex(len(data.index))
data
0
ответ дан dkk 15 January 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: