Yong-Sik commited on
Commit
29f0183
·
1 Parent(s): e5b4cb4

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
+ df = pd.read_csv(uploaded_file, sep=",", usecols=["date"])
13
+ df = df.dropna(axis=0)
14
+
15
+ date_list = pd.to_datetime(df.squeeze()).dt.date.tolist()
16
+ date_list.sort()
17
+
18
+ start_date = date_list[0]
19
+ end_date = date_list[-1]
20
+ day_count = (end_date - start_date).days + 1
21
+
22
+ x = np.arange(start_date, end_date + timedelta(days=1), timedelta(days=1)).astype(datetime)
23
+ y = np.zeros(day_count)
24
+
25
+ for d in date_list:
26
+ y[(d - start_date).days] += 1
27
+
28
+ y_count = np.cumsum(y)
29
+
30
+ df = pd.DataFrame({'date': x, 'count': y_count})
31
+
32
+ st.area_chart(df.set_index('date'))
33
+
34
+ col1, col2 = st.columns(2)
35
+ col1.metric("rows", len(date_list))
36
+ col2.metric("days", day_count)
37
+
38
+ col3, col4 = st.columns(2)
39
+ col3.metric("start", str(start_date))
40
+ col4.metric("end", str(end_date))
41
+