示例#1
0
    return pd.read_csv(
        "https://www.dropbox.com/s/cat8vm6lchlu5tp/data.csv?dl=1", index_col=0)


def get_regions():
    df = get_data()
    return df["Region"].unique().tolist()


def countries_handler(self: ctrl.ComboBox, regions: ctrl.ComboBox):
    df = get_data()
    self.items = df[df["Region"] ==
                    regions.value()]["Country"].unique().tolist()


regions = ctrl.ComboBox(items=get_regions, label="Region")
countries = ctrl.ComboBox(handler=countries_handler,
                          label="Country",
                          depends=[regions])


def country_output_handler(self: ctrl.Output, countries: ctrl.ComboBox):
    df = get_data()
    self.data = df[df["Country"] == countries.value()]


data_by_country_app = ds.app(
    controls=[regions, countries],
    outputs=[ctrl.Output(handler=country_output_handler, depends=[countries])])

示例#2
0
import dstack.controls as ctrl
import dstack as ds
import plotly.express as px


@ds.cache()
def get_data():
    return px.data.stocks()


def symbols_handler(self: ctrl.ComboBox):
    print("Calling symbols_handler")
    self.items = get_data().columns[1:].tolist()


def output_handler(self, ticker):
    print("Calling output_handler")
    self.data = px.line(get_data(), x='date', y=ticker.value())


app = ds.app(controls=[(ctrl.ComboBox(handler=symbols_handler))],
             outputs=[(ctrl.Output(handler=output_handler))])

result = ds.push("logs", app)
print(result.url)
示例#3
0
import dstack.controls as ctrl
import dstack as ds
import plotly.express as px


@ds.cache()
def get_data():
    return px.data.stocks()


def output_handler(self, ticker):
    self.data = px.line(get_data(), x='date', y=ticker.value())


app = ds.app(
    controls=[(ctrl.ComboBox(items=get_data().columns[1:].tolist()))],
    outputs=[
        ctrl.Output(data=ds.md(
            "Here's a simple application with **Markdown** and a chart.")),
        ctrl.Output(handler=output_handler)
    ])

result = ds.push("markdown", app)
print(result.url)
示例#4
0
from datetime import datetime, timedelta

import dstack.controls as ctrl
import dstack as ds
import plotly.express as px
import pandas_datareader as pdr


def ticker_handler(self: ctrl.ComboBox):
    self.items = ['FB', 'AMZN', 'AAPL', 'NFLX', 'GOOG']


def output_handler(self: ctrl.Output, ticker: ctrl.ComboBox):
    if ticker.selected > -1:
        start = datetime.today() - timedelta(days=30)
        end = datetime.today()
        df = pdr.data.DataReader(ticker.items[ticker.selected], 'yahoo', start,
                                 end)
        self.data = px.line(df, x=df.index, y=df['High'])
    else:
        self.data = ds.md("No ticker selected")


app = ds.app(
    controls=[ctrl.ComboBox(label="Select ticker", handler=ticker_handler)],
    outputs=[ctrl.Output(handler=output_handler)])

result = ds.push('controls/combo_box', app)
print(result.url)
示例#5
0
    countries = df["Country"].unique()
    sectors = df["Sector"].unique()

    x1 = df[df["RenewalMonth"] >= 10].copy()
    x1a = transform(x1, countries, sectors)
    return x1, x1a


x1, x1a = get_data()

months = [
    'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct',
    'Nov', 'Dec'
]

regions_ctrl = ctrl.ComboBox(x1["Region"].unique().tolist(), label="Region")
months_ctrl = ctrl.ComboBox(['Oct', 'Nov', 'Dec'], label="Month")
churn_ctrl = ctrl.CheckBox(label="Churn", selected=True, require_apply=False)


def app_handler(self: ctrl.Output, regions_ctrl: ctrl.ComboBox,
                months_ctrl: ctrl.ComboBox, churn_ctrl: ctrl.CheckBox):
    x1, x1a = get_data()
    y1_pred = get_model().predict(x1a)
    data = x1.copy()
    data["Predicted Churn"] = y1_pred
    data["Predicted Churn"] = data["Predicted Churn"].apply(
        lambda x: "Yes" if x == 1.0 else "No")
    data["RenewalMonth"] = data["RenewalMonth"].apply(lambda x: months[x - 1])
    data = data.drop(["y2015", "y2016", "y2017", "y2018", "y2019", "Churn"],
                     axis=1)
示例#6
0
    return pd.read_csv(
        "https://www.dropbox.com/s/cat8vm6lchlu5tp/data.csv?dl=1", index_col=0)


def get_regions():
    df = get_data()
    return df["Region"].unique().tolist()


def countries_handler(self: ctrl.ComboBox, regions: ctrl.ComboBox):
    df = get_data()
    self.items = df[df["Region"] ==
                    regions.value()]["Country"].unique().tolist()


regions = ctrl.ComboBox(items=get_regions, label="Region")
countries = ctrl.ComboBox(handler=countries_handler,
                          label="Country",
                          multiple=True,
                          depends=[regions])


def output_handler(self: ctrl.Output, countries: ctrl.ComboBox):
    df = get_data()
    self.data = df[df["Country"].isin(countries.value())]


app = ds.app(controls=[regions, countries],
             outputs=[ds.Output(handler=output_handler, depends=[countries])])

result = ds.push('combo_box', app)