Здесь происходит пара вещей. Во-первых, я считаю, что вы хотите использовать Python логический True
вместо javascript true
в Python, последний будет читаться как строка, и когда вы попытаетесь сгруппировать и суммировать данные, этот столбец будет удален, так как он невозможно суммировать.
Во-вторых, когда вы группируете свои данные по отметке времени, вам не нужно использовать unstack
, просто укажите столбец, который вы хотите построить.
df.groupby([df['timestamp'].dt.second]).sum().plot(y='success')
![enter image description here](https://i.stack.imgur.com/f02qg.png)
Построить линии истинного и ложного значений немного сложнее. Если бы вы знали, что число всегда будет равно 100, вы можете просто вычесть успех из 100, чтобы получить неудачи, но более безопасный способ аналогичен тому, что делал оригинальный пост:
Создать пример данных:
df = pd.DataFrame({'timestamp': list(range(0, 10000, 10)),
'uid': list(range(0, 1000))})
df['success'] = np.random.choice([True, False], 1000)
График данных:
df.groupby([df['timestamp'].dt.second, 'success']).size().unstack(fill_value=0).plot()
![enter image description here](https://i.stack.imgur.com/23KRv.png)