jason137/pickups
0
1import streamlit as st2import pandas as pd3import numpy as np4 5st.title('Uber pickups in NYC')6 7DATE_COLUMN = 'date/time'8DATA_URL = ('https://s3-us-west-2.amazonaws.com/'9 'streamlit-demo-data/uber-raw-data-sep14.csv.gz')10 11@st.cache_data12def load_data(nrows):13 data = pd.read_csv(DATA_URL, nrows=nrows)14 lowercase = lambda x: str(x).lower()15 data.rename(lowercase, axis='columns', inplace=True)16 data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN])17 return data18 19data_load_state = st.text('Loading data...')20data = load_data(10000)21data_load_state.text("Done! (using st.cache_data)")22 23if st.checkbox('Show raw data'):24 st.subheader('Raw data')25 st.write(data)26 27st.subheader('Number of pickups by hour')28hist_values = np.histogram(data[DATE_COLUMN].dt.hour, bins=24, range=(0,24))[0]29st.bar_chart(hist_values)30 31# Some number in the range 0-2332hour_to_filter = st.slider('hour', 0, 23, 17)33filtered_data = data[data[DATE_COLUMN].dt.hour == hour_to_filter]34 35st.subheader('Map of all pickups at %s:00' % hour_to_filter)36st.map(filtered_data)37 