コード例 #1
0
ファイル: download.py プロジェクト: KeilaVCortes/TATSSI
    def __display_dates(self):
        """
        Manage dates widgets
        """
        # Dates to download
        start = self.catalogue.products.TemporalExtentStart.iloc[0]
        start = self.__string_to_datetime(start)
        style = {'description_width': 'initial'}
        self.start_date = widgets.DatePicker(
            value=start,
            description='Start date (dd/mm/yyyy)',
            disabled=False,
            style={'description_width': 'initial'})

        end = self.catalogue.products.TemporalExtentEnd.iloc[0]
        end = self.__string_to_datetime(end)
        style = {'description_width': 'initial'}
        self.end_date = widgets.DatePicker(
            value=end,
            description='End date (dd/mm/yyyy)',
            disabled=False,
            style={'description_width': 'initial'})

        display(self.start_date)
        display(self.end_date)
コード例 #2
0
def interactive():
    code_values = []
    global country_codes
    for code in country_codes:
        code_values.append(code['name'])

    country = widgets.Dropdown(
        options=code_values,
        value=code_values[0],
        description='Country:',
        disabled=False,
    )

    start = widgets.DatePicker(
        value=datetime.datetime(2020,1,1),
        description='Start Date:',
        disabled=False
    )

    end = widgets.DatePicker(
        value=datetime.datetime(2020,12,31),
        description='End Date:',
        disabled=False
    )

    interact(get_data, country=country, date_start=start, date_end=end)
コード例 #3
0
ファイル: satplotClass.py プロジェクト: guiwitz/Satellites
    def main_date(self):
        date1 = widgets.DatePicker(description='Pick a start date',
                                   disabled=False,
                                   style={'description_width': '40%'})
        date2 = widgets.DatePicker(description='Pick an end date',
                                   disabled=False,
                                   style={'description_width': '40%'})
        date1.value = date(2018, 9, 1)
        date2.value = date(2018, 9, 3)

        self.date1 = date1.value
        self.date2 = date2.value

        button = widgets.Button(
            description='Update time range',
            disabled=False,
            button_style='',  # 'success', 'info', 'warning', 'danger' or ''
            tooltip='Click me',
            icon='check')
        button.on_click(self.data_update)

        d = {'date1': date1, 'date2': date2}

        title_w = widgets.HTML(
            "<span style='float:left;font-size:2em;font-weight:bold'>Radial plot of satellite observation</span>"
        )

        ui = widgets.VBox([title_w, widgets.HBox([date1, date2]), button])
        out = widgets.interactive_output(self.update_date, d)

        self.ui = ui
        self.out = out
        self.button = button
        display(ui, out)
コード例 #4
0
    def __post_init__(self):
        cats = list(self.bp.cfg['Plan'].keys())
        self.plotter = widgets.HBox([
            widgets.Dropdown(options=cats,
                             value=cats[0],
                             description='Category:'),
            widgets.DatePicker(description='Start Date'),
            widgets.DatePicker(description='End Date')
        ])
        self.output = widgets.Output()

        def plot(change_dict):
            nonlocal self
            with self.output:
                print(f'Loading...')

            with self.output:
                clear_output()
                fig, df = self.bp.category_plot(
                    cat=self.plotter.children[0].value,
                    start_date=self.plotter.children[1].value,
                    end_date=self.plotter.children[2].value,
                    figsize=(9.6, 5.4))
                display(fig)
                self.df = df

        for c in self.plotter.children:
            c.observe(plot, names='value')
コード例 #5
0
    def __init__(self, df, df_bm, bm_process_func, colormap):
        """
        + initialize class with dataframe
        + initiatlive all ipywidgets
        """
        self.df = df
        self.df_bm = df_bm
        self.bm_process_func = bm_process_func
        self.DF = pd.DataFrame()
        self.colormap = colormap

        self.advertisers = ['all'] + sorted(list(set(self.df['advertiser'])))
        self.creative_types = ['all'] + sorted(
            list(set(self.df['creative_type'])))

        self.advert_dropdown = ipywidgets.Dropdown(options=self.advertisers,
                                                   value=self.advertisers[0],
                                                   disabled=False)

        self.creative_type_dropdown = ipywidgets.Dropdown(
            options=self.creative_types,
            value=self.creative_types[0],
            disabled=False)

        yesterday = datetime.datetime.now() - datetime.timedelta(1)
        t_60 = yesterday - datetime.timedelta(60)

        self.d1_DatePicker = ipywidgets.DatePicker(disabled=False, value=t_60)
        self.d2_DatePicker = ipywidgets.DatePicker(disabled=False,
                                                   value=yesterday)
コード例 #6
0
    def __init__(self, domain):
        
        self.domain = domain
        self.local_data_dir = 'csv_files'
        os.makedirs(self.local_data_dir, exist_ok=True)
        
        self.start_datetime_default = datetime.now() - timedelta(days=1)
        self.end_datetime_default = datetime.now() - timedelta(days=1)

        self.instrument_id = widgets.Select(
            description='Instrument ID: ',
            options=['1', '2', '4', '5', '6', '7', '8', '9'],
            value='1',
            disabled=False,
        )
        
        # Widget generation: start date picker
        self.start_date = widgets.DatePicker(
            description='Start Date',
            value=self.start_datetime_default,
            disabled=False
        )

        # Widget generation: end date picker
        self.end_date = widgets.DatePicker(
            description='End Date',
            value=self.end_datetime_default,
            disabled=False
        )


        # Widget generation: Download file button        
        self.button = widgets.Button(
            description='Download File',
            disabled=False,
        )
        
        # attach an on click event to the download button so it triggers a csv file download        
        self.button.on_click(self.download_csv_file)
        
        # Create a textarea into which download status will be displayed
        self.file_download_outputs = widgets.Textarea(
            value='',
            description='Output:',
            layout={'width': '90%', 'height': '100px'},
            disabled=False
        )        
        

        # Get list of available data files
        self.available_data_files = widgets.Select(
            options=self.get_availiable_files(),
            description='',
            disabled=False,
            layout={'width': 'initial'}
        )
        
        
        # output the widgets
        self.out = widgets.Output()
コード例 #7
0
 def pick_start_and_end_date():
     start_date = widgets.DatePicker(description='Pick a start date',
                                     disabled=False)
     end_date = widgets.DatePicker(description='Pick a end date',
                                   disabled=False)
     display(start_date)
     display(end_date)
     return start_date, end_date
コード例 #8
0
def widget(table_name, crawl_func, range_date=None):

    sig = signature(crawl_func)

    if len(sig.parameters) == 0:

        @out.capture()
        def onupdate(x):
            print('updating ', table_name)
            df = crawl_func()
            to_pickle(df, table_name)
            print('done')

        btn = widgets.Button(description='update ')
        btn.on_click(onupdate)

        first_date, last_date = table_date_range(table_name)
        label = widgets.Label(table_name + ' | ' + str(first_date) + ' ~ ' +
                              str(last_date))
        items = [btn]
        display(widgets.VBox([label, widgets.HBox(items)]))

    else:

        date_picker_from = widgets.DatePicker(
            description='from',
            disabled=False,
        )

        first_date, last_date = table_date_range(table_name)

        if last_date:
            date_picker_from.value = last_date

        date_picker_to = widgets.DatePicker(
            description='to',
            disabled=False,
        )

        date_picker_to.value = datetime.datetime.now().date()

        btn = widgets.Button(description='update ')

        def onupdate(x):
            dates = range_date(date_picker_from.value, date_picker_to.value)

            if len(dates) == 0:
                print('no data to parse')

            update_table(table_name, crawl_func, dates)

        btn.on_click(onupdate)

        label = widgets.Label(table_name + ' | ' + str(first_date) + ' ~ ' +
                              str(last_date))

        items = [date_picker_from, date_picker_to, btn]
        display(widgets.VBox([label, widgets.HBox(items)]))
コード例 #9
0
 def pick_start_and_end_date():
     """ Pick dates """
     start_date = widgets.DatePicker(description='Pick a start date', disabled=False)
     end_date = widgets.DatePicker(description='Pick a end date', disabled=False)
     # pylint: disable=undefined-variable
     display(start_date)
     # pylint: disable=undefined-variable
     display(end_date)
     return start_date, end_date
コード例 #10
0
ファイル: nmtools.py プロジェクト: usnair/georad
 def getCP(self):
     self.setLabel()
     self.usrTW = Text(value='',
                       placeholder='',
                       description='Username:'******'values')
     self.pwdPW = Password(value='',
                           placeholder='',
                           description='Password:'******'value')
     self.st = widgets.DatePicker(description='Start Date',
                                  value=datetime(2020, 4, 20),
                                  disabled=False,
                                  layout=Layout(width='220px'))
     self.et = widgets.DatePicker(description='End Date',
                                  value=datetime(2020, 4, 30),
                                  disabled=False,
                                  layout=Layout(width='220px'))
     self.st.observe(self.startDate)
     self.et.observe(self.endDate)
     self.latitude = Text(value='24.42',
                          description='Latitude:',
                          disabled=False,
                          layout=Layout(width='220px'))
     self.longitude = Text(value='54.43',
                           description='Longitude:',
                           disabled=False,
                           layout=Layout(width='220px'))
     self.latitude.observe(self.set_lat_val, names='value')
     self.longitude.observe(self.set_lon_val, names='value')
     self.plotms = Button(description='Plot in m/s',
                          disabled=False,
                          layout={
                              'width': 'auto',
                              'border': '3px outset'
                          })
     self.plotms.on_click(self.plotWindRose_ms)
     self.plotkt = Button(description='Plot in kt',
                          disabled=False,
                          layout={
                              'width': 'auto',
                              'border': '3px outset'
                          })
     self.plotkt.on_click(self.plotWindRose_kt)
     self.inpUSR.children += (HBox([
         VBox([self.st, self.latitude, self.longitude]),
         VBox([self.et, self.plotms, self.plotkt])
     ],
                                   layout={'overflow': 'visible'}), )
     with self.out_cp:
         self.out_cp.clear_output()
         display(self.getCP)
     return self.cp
コード例 #11
0
    def __init__(self, domain):

        self.domain = domain
        self.local_data_dir = 'csv_files'
        os.makedirs(self.local_data_dir, exist_ok=True)

        self.start_datetime_default = datetime.now() - timedelta(days=1)
        self.end_datetime_default = datetime.now() - timedelta(days=1)

        self.instrument_id = widgets.Select(
            description='Instrument ID: ',
            options=['1', '2', '4', '5', '6', '7', '8', '9'],
            value='1',
            disabled=False,
        )

        self.start_date = widgets.DatePicker(description='Start Date',
                                             value=self.start_datetime_default,
                                             disabled=False)

        self.end_date = widgets.DatePicker(description='End Date',
                                           value=self.end_datetime_default,
                                           disabled=False)

        self.end_date = widgets.DatePicker(description='End Date',
                                           value=self.end_datetime_default,
                                           disabled=False)

        self.button = widgets.Button(
            description='Download File',
            disabled=False,
            #             button_style='', # 'success', 'info', 'warning', 'danger' or ''
            #             tooltip='Click me',
            #             icon='check' # (FontAwesome names without the `fa-` prefix)
        )

        self.button.on_click(self.download_csv_file)

        self.file_download_outputs = widgets.Textarea(
            value='',
            #             placeholder='Type something',
            description='Output:',
            layout={
                'width': '90%',
                'height': '100px'
            },
            disabled=False)

        self.available_data_files = widgets.Select(
            options=self.get_availiable_files(),
            description='',
            disabled=False,
            layout={'width': 'initial'})

        self.out = widgets.Output()
コード例 #12
0
def date_picker():
    date1 = widgets.DatePicker(description='Pick a start date',
                               disabled=False,
                               style={'description_width': '40%'})
    date2 = widgets.DatePicker(description='Pick an end date',
                               disabled=False,
                               style={'description_width': '40%'})
    date1.value = date(2018, 9, 1)
    date2.value = date(2018, 9, 3)
    display(widgets.HBox([date1, date2]))
    return date1, date2
コード例 #13
0
def pick_date_range():
    from_day = widgets.DatePicker(description='From day',
                                  disabled=False,
                                  value=date(2020, 12, 1))
    to_day = widgets.DatePicker(description='To day',
                                disabled=False,
                                value=date(2020, 12, 31))

    display(from_day)
    display(to_day)

    return from_day, to_day
コード例 #14
0
    def __init__(self, df, ad_server='DFP'):
        self.df = df
        self.ad_server = ad_server

        self.d1 = ipywidgets.DatePicker(disabled=False,
                                        description='Start',
                                        value=df['date'].max() -
                                        datetime.timedelta(7))

        self.d2 = ipywidgets.DatePicker(disabled=False,
                                        description='End',
                                        value=df['date'].max())
コード例 #15
0
def pick_date_range(default_from=datetime.date(year=2019, month=5, day=1),
                    default_to=datetime.date(year=2019, month=5, day=15)):
    from_day = widgets.DatePicker(description='From day',
                                  disabled=False,
                                  value=default_from)
    to_day = widgets.DatePicker(description='To day',
                                disabled=False,
                                value=default_to)

    display(from_day)
    display(to_day)

    return from_day, to_day
コード例 #16
0
def dougnut2():
    names = list(uploaded.keys())
    options = list()
    for name in names:
        options.append(tuple([name.split('.')[0], name]))
    interact(select_dougnut2,
             Name=widgets.Dropdown(
                 options=options,
                 value=names[0],
                 description='Employe:',
             ),
             start_date=widgets.DatePicker(),
             end_date=widgets.DatePicker())
コード例 #17
0
    def __init__(self, min_incidence=150):
        self.min_incidence = min_incidence
        self.max_incidence = None

        self.widget_min_incidence = widgets.IntText(
            value=min_incidence, description="Minimum:", disabled=False
        )
        self.widget_max_incidence = widgets.IntText(
            value=2000, description="Maximum:", disabled=False
        )

        self.widget_button = widgets.Button(
            description="Retracer",
            disabled=False,
            button_style="",  # 'success', 'info', 'warning', 'danger' or ''
            tooltip="Retracer la figure avec les nouvelles données d'entrée",
            icon="sync-alt",  # (FontAwesome names without the `fa-` prefix)
        )

        self.widget_date_picker = widgets.DatePicker(
            description="Date début",
            value=create_date_object(default_first_day_in_plot),
            disabled=False,
        )

        self.widget_button.on_click(self.sync)

        self.layout_inputs = widgets.TwoByTwoLayout(
            top_left=self.widget_max_incidence,
            bottom_left=self.widget_min_incidence,
            top_right=self.widget_date_picker,
            bottom_right=self.widget_button,
        )
コード例 #18
0
ファイル: calc.py プロジェクト: bhenk/fintec
 def display_rel_change(self, minus_days=365):
     start = pd.Timestamp.today() - pd.DateOffset(days=minus_days)
     ia_start = widgets.DatePicker(description='Start Date', value=start)
     ia_height = widgets.IntSlider(value=700,
                                   min=200,
                                   max=1000,
                                   step=100,
                                   description='Height:',
                                   disabled=False,
                                   continuous_update=False,
                                   orientation='horizontal',
                                   readout=True,
                                   readout_format='d')
     ia_decimals = widgets.IntSlider(value=1,
                                     min=0,
                                     max=3,
                                     step=1,
                                     description='Decimals:',
                                     disabled=False,
                                     continuous_update=False,
                                     orientation='horizontal',
                                     readout=True,
                                     readout_format='d')
     controls = {
         'start': ia_start,
         'height': ia_height,
         'decimals': ia_decimals
     }
     ui = widgets.HBox([ia_start, ia_height, ia_decimals])
     out = widgets.interactive_output(self.scatter_rel_change, controls)
     display(ui, out)
コード例 #19
0
    def get_end_date(date = widgets.DatePicker(
        description='End date:',
        disabled=False,
        value=data_frames['repos']['pushed_at'].max(),
        style=dict(description_width='initial')
    )):

        query['end_date'].value = str(date)
コード例 #20
0
def area():
    """
    Provide map and options to choose area of interest
    """

    center = [65.73, -50.71]
    zoom = 4
    m = Map(center=center, zoom=zoom)

    global dc, start, end, file, lon_l, lat_l, lon_r, lat_r

    # Pick date
    start = widgets.DatePicker(disabled=False)
    end = widgets.DatePicker(disabled=False)

    # Select from map
    dc = DrawControl(rectangle={'shapeOptions': {
        'color': '#0000FF'
    }},
                     polyline={},
                     polygon={},
                     circlemarker={})
    m.add_control(dc)

    # Shapefile
    file = widgets.FileUpload(accept='.shp', multiple=False)

    # Bounding box
    lon_l = widgets.FloatText(description="lon")
    lat_l = widgets.FloatText(description="lat")
    lon_r = widgets.FloatText(description="lon")
    lat_r = widgets.FloatText(description="lat")

    return (AppLayout(header=VBox([
        HTML("<h1>Select area (time and space)</h1>"),
        HBox([Label("Start Date:"), start,
              Label("End Date:"), end])
    ]),
                      center=m,
                      right_sidebar=VBox([
                          HTML("<h3>or upload shapefile<h3>"), file,
                          HTML("<h3> <h3>"),
                          HTML("<h3>or bounding box<h3>"),
                          Label("Bottom-left corner"), lon_l, lat_l,
                          Label("Upper-right corner"), lon_r, lat_r
                      ])))
コード例 #21
0
ファイル: ipyadt.py プロジェクト: gitthious/ADT
def select_widget(obj, attr):
    val = getattr(obj, attr)

    # On récupère le type de l'attribut et pas seulement de la valeur
    try:
        valtype = getattr(type(obj), attr).type
    except AttributeError:
        valtype = type(getattr(obj, attr))

    if valtype is bool:
        widget = widgets.Checkbox(value=val, description=attr, disabled=False)
    elif valtype is int:
        widget = widgets.IntText(value=val, description=attr, disabled=False)

    elif valtype is float:
        widget = widgets.FloatText(value=val, description=attr, disabled=False)
    elif valtype is str:
        widget = widgets.Text(value=val,
                              description=attr,
                              disabled=False,
                              placeholder='')

    elif isinstance(val, basictypes.Enum):
        widget = widgets.Dropdown(value=val.name,
                                  options=list(type(val).__members__.keys()),
                                  description=attr,
                                  disabled=False)
    elif isinstance(val, basictypes.date):
        widget = widgets.DatePicker(value=val,
                                    description=attr,
                                    disabled=False)
    elif isinstance(val, basictypes.time):
        widget = widgets.Text(value=val.strftime("%H:%M:%S"),
                              description=attr,
                              disabled=False,
                              placeholder='hh:mm:ss')
    elif isinstance(val, basictypes.datetime):
        widget = widgets.HBox(
            (widgets.Label(value=attr), widgets.DatePicker(value=val),
             widgets.Text(value=val.strftime("%H:%M:%S"),
                          placeholder='hh:mm:ss')))

    else:
        widget = None

    return widget
コード例 #22
0
    def __init__(self, df):
        self.df = df

        self.d1 = ipywidgets.DatePicker(disabled=False,
                                        description='Start',
                                        value=df['date'].max() -
                                        datetime.timedelta(7))

        self.d2 = ipywidgets.DatePicker(disabled=False,
                                        description='End',
                                        value=df['date'].max())

        self.slider = ipywidgets.IntSlider(value=1000,
                                           min=100,
                                           max=5000,
                                           step=100,
                                           continuous_update=False,
                                           description='imp threshold')
コード例 #23
0
def widget(conn, table_name, crawl_func, range_date):

    date_picker_from = widgets.DatePicker(
        description='from',
        disabled=False,
    )

    if table_exist(conn, table_name):
        date_picker_from.value = table_latest_date(conn, table_name)

    date_picker_to = widgets.DatePicker(
        description='to',
        disabled=False,
    )

    date_picker_to.value = datetime.datetime.now().date()

    btn = widgets.Button(description='update ')

    def onupdate(x):
        dates = range_date(date_picker_from.value, date_picker_to.value)

        if len(dates) == 0:
            print('no data to parse')

        update_table(conn, table_name, crawl_func, dates)

    btn.on_click(onupdate)

    if table_exist(conn, table_name):
        label = widgets.Label(
            table_name + ' (from ' +
            table_earliest_date(conn, table_name).strftime('%Y-%m-%d') +
            ' to ' + table_latest_date(conn, table_name).strftime('%Y-%m-%d') +
            ')')
    else:
        label = widgets.Label(table_name +
                              ' (No table found)(對於finance_statement是正常情況)')

    items = [date_picker_from, date_picker_to, btn]
    display(widgets.VBox([label, widgets.HBox(items)]))
コード例 #24
0
    def __init__(self, df):
        self.df = df
        self.DF = pd.DataFrame()

        self.adunit = ['engage', 'marquee', 'inline', 'spotlight']
        self.metrics = ['Viewability', 'DFP_CTR', '3P_CTR', 'IR', 'VSR']
        self.site = ['qz', 'wrk', 'zty']

        self.adunit_dropdown = ipywidgets.Dropdown(options=self.adunit,
                                                   value=self.adunit[0],
                                                   disabled=False)

        self.metric_dropdown = ipywidgets.Dropdown(options=self.metrics,
                                                   value="Viewability",
                                                   disabled=False)

        self.site_dropdown = ipywidgets.Dropdown(options=self.site,
                                                 value=self.site[0],
                                                 disabled=False)

        self.rolling = ipywidgets.IntSlider(value=4,
                                            min=1,
                                            max=7,
                                            step=1,
                                            description='rolling',
                                            disabled=False)

        yesterday = datetime.datetime.now() - datetime.timedelta(1)
        t_60 = yesterday - datetime.timedelta(60)

        self.d1_DatePicker = ipywidgets.DatePicker(disabled=False, value=t_60)
        self.d2_DatePicker = ipywidgets.DatePicker(disabled=False,
                                                   value=yesterday)

        self.left_box = ipywidgets.VBox(
            [self.site_dropdown, self.metric_dropdown, self.adunit_dropdown])

        self.right_box = ipywidgets.VBox(
            [self.d1_DatePicker, self.d2_DatePicker, self.rolling])

        self.controls = ipywidgets.HBox([self.left_box, self.right_box])
コード例 #25
0
    def _widget_datetime(self):
        widget_dt = widgets.DatePicker(description='Datetime of measurement',
                                       disabled=False)

        def _observe_dt(change):
            date = widget_dt.value
            if date is not None:
                self.metadata['date'] = date.isoformat()
                self._update_widget_export()

        widget_dt.observe(_observe_dt)
        return widget_dt
コード例 #26
0
ファイル: gui.py プロジェクト: eschmidt42/bundestag
    def init_widgets(self):
        # prints out the current selection of MdB, party and timespan
        self.selection_widget = widgets.Label()

        # widget to render figures in
        self.display_widget = widgets.Output()

        # submit button
        self.submit_widget = widgets.Button(description="Submit")
        self.submit_widget.on_click(self.on_click)

        # widgets to set MdB, party, timespan
        self.name_widget = widgets.Combobox(
            placeholder="Choose an MdB",
            options=tuple(self.mdbs),
            description="MdB:",
            ensure_option=True,
        )

        self.start_widget = widgets.DatePicker(description="Start date")
        self.end_widget = widgets.DatePicker(description="End date")
コード例 #27
0
    def history_ui():
        date_wid = widgets.DatePicker(description='Pick a Date',
                                     value=dt.datetime.today(),
                                     disabled=False)




        def filter_data(date):
            d = read(dr['MAT']+'Timesheet.pkl')
            date=dt.datetime(date.year,date.month,date.day)
            c1=(d['From']>date)*(d['To']<=date+pd.to_timedelta('23:59:59'))
            c11=d[c1]

            idx=[i for i in d.index if d['To'][i].day==d['From'][i].day+1]
            c12=d.loc[idx]
            c10=c12[(c12['To']>=date)*(c12['To']<=date+pd.to_timedelta('23:59:59'))]

            for j in ['From','To']:
                c11[j]=[c11[j].iloc[i].strftime('%H:%M:%S') for i in range(len(c11[j]))]

            c13=pd.concat((c10,c11))
            display(c13)

        def total_df(date):
            d = read(dr['MAT']+'Timesheet.pkl')
            date=dt.datetime(date.year,date.month,date.day)
            c1=(d['From']>pd.to_datetime(date))*(d['To']<=pd.to_datetime(date)+pd.to_timedelta('23:59:59'))
            c11=d[c1]

            idx=[i for i in d.index if d['To'][i].day==d['From'][i].day+1]
            c12=d.loc[idx]
            c10=c12[(c12['To']>=date)*(c12['To']<=date+pd.to_timedelta('23:59:59'))]
            c13=pd.concat((c10,c11))

            acts=sorted(list(set(c13['Activity'])))

            act1=pd.Series(acts)
            tot=[c13[c13['Activity']==j]['Duration'].sum() for j in act1]
            tot1=pd.Series(tot)
            tot2=pd.DataFrame({'Activity': act1,'Total Duration':tot1})
            tot2 = tot2.sort_values(by='Total Duration',ascending=False)
            tot2 = tot2.reset_index(drop=True)
            display(tot2)



        out1 = widgets.interactive_output(filter_data, {'date': date_wid})
        out2 = widgets.interactive_output(total_df, {'date': date_wid})

        ui = VBox([date_wid,HBox([out1,out2])])

        return ui
コード例 #28
0
    def __init__(self, df, site='qz', ad_server='DFP'):
        """
        """
        self.df = df

        if site not in self.sites:
            raise ValueError('site kwarg should be "qz", "wrk", "zty"')
        self.site = site

        # if creative_type not in self.creative_type_metrics.keys():
        #     raise ValueError('creative_type kwarg should be: ' + (
        #         "; ".join(sorted(self.creative_type_metrics.keys()
        #             ))))
        # self.creative_type = creative_type

        self.ad_server = ad_server

        self.d1 = ipywidgets.DatePicker(disabled=False,
                                        description='Start',
                                        value=df['date'].max() -
                                        datetime.timedelta(7))

        self.d2 = ipywidgets.DatePicker(disabled=False,
                                        description='End',
                                        value=df['date'].max())

        co = df.fillna(0).groupby('creative_type',
                                  as_index=False)['dfp_impressions'].sum()
        co = co.sort_values('dfp_impressions', ascending=False)
        self.creative_type_dropdown = ipywidgets.Dropdown(
            options=co['creative_type'],
            value=co.iloc[0]['creative_type'],
            disabled=False)

        self.slider = ipywidgets.IntSlider(value=20,
                                           min=5,
                                           max=50,
                                           step=1,
                                           continuous_update=False,
                                           description='display size')
コード例 #29
0
def display_widget(dt=widgets.DatePicker(description='Date', disabled=False, value=pd.to_datetime('01/27/2020'))):
    data = df1
    #delete NANs
    data.dropna(inplace=True)
    
    #Date picker filters data
    data = data.query("ObservationDate==@dt")
    
    #Create a new column to display on the graph
    data['text'] = data['Province_State'] + ' Confirmed Cases: ' + data['Confirmed'].astype(str)
    
    
    limits = [(0,100000)]
    
    #set Bubble Color
    colors = ["crimson"]
    cities = []
    scale = 5000

    #Instantiate graph
    fig = go.Figure()

    #Add data points
    for i in range(len(limits)):
        lim = limits[i]
        df_sub = data[lim[0]:lim[1]]
        fig.add_trace(go.Scattergeo(
            locationmode = 'USA-states',
            lon = data['Longitude'],
            lat = data['Latitude'],
            text = data['text'],
            marker = dict(
                size = data['Confirmed'],
                color = colors[i],
                line_color='rgb(40,40,40)',
                line_width=0.5,
                sizemode = 'area'
        ),
        name = '{0} - {1}'.format(lim[0],lim[1])))
    
    #Set title and land color
    fig.update_layout(
        title_text = 'Coronavirus Outbreak by the Day',
        showlegend = False,
        geo = dict(
            scope = 'usa',
            landcolor = 'rgb(225, 225, 225)',
        )
    )
    
    #Display Figure
    fig.show()
コード例 #30
0
    def __init__(self, layout: widgets.Layout = None):
        if layout is None:
            layout = widgets.Layout(display='flex',
                                    flex_flow='row',
                                    align_items='center',
                                    justify_content='center',
                                    style=style)
        super().__init__(layout=layout)

        self.datetime_start: datetime = None
        self.datetime_end: datetime = None

        self.datepicker_start: widgets.DatePicker = widgets.DatePicker(
            description='Pick a Start Date:', disabled=False, style=style)
        self.hourpicker_start: widgets.BoundedIntText = widgets.BoundedIntText(
            value=0,
            min=0,
            max=23,
            step=1,
            description='Hour:',
            disabled=False,
            style=style)
        self.datepicker_end: widgets.DatePicker = widgets.DatePicker(
            description='Pick an End Date:', disabled=False, style=style)
        self.hourpicker_end: widgets.BoundedIntText = widgets.BoundedIntText(
            value=0,
            min=0,
            max=23,
            step=1,
            description='Hour:',
            disabled=False,
            style=style)

        start_date_box: widgets.VBox = widgets.VBox(
            [self.datepicker_start, self.hourpicker_start])
        end_date_box: widgets.VBox = widgets.VBox(
            [self.datepicker_end, self.hourpicker_end])

        self.children = [start_date_box, end_date_box]