Мои данные имеют вид
{'transaction': {'merchant': 'merchantA', 'amount': 20, 'time': '2019-02-13T10:00:00.000Z'}}
{'transaction': {'merchant': 'merchantA', 'amount': 90, 'time': '2019-02-13T11:00:00.000Z'}}
.
.
.
и я хочу выполнить некоторые операции прокатки в зависимости от времени. например, количество транзакций, которые произошли за последние «X» минут и т. д.
Я пробовал несколько способов, но не могу понять. Первоначально я указал len(df.index) в качестве индекса. (не знаю, эффективно ли это делать так)
Позже я также попытался указать data['transaction']['time'] в качестве индекса. все равно не работает.
Он всегда выдает, что окно ошибки должно быть целым числом.
df = pd.DataFrame()
df2 = pd.DataFrame()
for line in sys.stdin:
data = json.loads(line)
# df1 = pd.DataFrame(data["transaction"], index=[len(df.index)])
df1 = pd.DataFrame(data["transaction"], index=[data['transaction']['time']])
# df1 = pd.DataFrame.from_dict(data, orient='index')
df = df.append(df1)
ro = df.rolling('2min', on='time').count()
# ro = pd.get_dummies(df).rolling('2M').count()
print(ro)
# df2 = df.merge(ro)
# print(df2)
print(df)
Что мне здесь не хватает?
Спасибо
df.rolling()
, поскольку она интерпретирует «2min» как строку. Вы пробовалиro = df.rolling('2m', on='time').count()
? - person Carsten   schedule 18.02.2020