tykimos commited on
Commit
4e9df14
·
1 Parent(s): 6e5e7e1

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -0
app.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+ from datetime import datetime, timedelta
5
+ from io import StringIO
6
+
7
+ st.title('Cumulative Trend')
8
+
9
+ uploaded_file = st.file_uploader("Choose a csv file including 'date' column.")
10
+
11
+ if uploaded_file is not None:
12
+
13
+ df = pd.read_csv(uploaded_file, sep=",", usecols=["date"])
14
+ df = df.dropna(axis=0)
15
+
16
+ date_list = pd.to_datetime(df.squeeze()).dt.date.tolist()
17
+ date_list.sort()
18
+
19
+ start_date = date_list[0]
20
+ end_date = date_list[-1]
21
+ day_count = (end_date - start_date).days + 1
22
+
23
+ x = np.arange(start_date, end_date + timedelta(days=1), timedelta(days=1)).astype(datetime)
24
+ y = np.zeros(day_count)
25
+
26
+ for d in date_list:
27
+ y[(d - start_date).days] += 1
28
+
29
+ y_count = np.cumsum(y)
30
+
31
+ df = pd.DataFrame({'date': x, 'count': y_count})
32
+
33
+ st.area_chart(df.set_index('date'))
34
+
35
+ col1, col2 = st.columns(2)
36
+ col1.metric("rows", len(date_list))
37
+ col2.metric("days", day_count)
38
+
39
+ col3, col4 = st.columns(2)
40
+ col3.metric("start", str(start_date))
41
+ col4.metric("end", str(end_date))