def calc_crossovers(sma, lma):
    num_points = len(clean_data(lma))
    #Currently using only closing prices
    sma = sma['Close']
    lma = lma['Close']
    high = (sma > lma)[-num_points:]
    crossovers = high.diff()
    show(sma, lma, high, crossovers)
def visualize(data, short_period, long_period):
    sma = data.rolling(short_period).mean()
    lma = data.rolling(long_period).mean()
    crossovers = pd.DataFrame(calc_crossovers(sma, lma))
    show(data, crossovers)
    data.plot(color='black')
    crossovers.plot(kind='scatter', x='index', y='value', color='green')
    plt.show()
def main():
    tickers = 'SPY AAPL MRNA TSLA'
    data = yf.download(tickers, period='max', group_by='ticker')
    frame = clean_data(pd.DataFrame(data['TSLA']))
    sma = frame.rolling(100).mean()
    lma = frame.rolling(750).mean()
    crossovers = calc_crossovers(sma, lma)
    show(sma, lma, crossovers)
Exemplo n.º 4
0
def main():
    #    coloredlogs.install(level='DEBUG', logger=logger)
    multiprocessing_logging.install_mp_handler()

    SEARCH = 'https://www.rockbottomgolf.com/golf-clubs/hybrids/#/?profile_id=7ce0e69e2cb37bcee2e3073332381477&session_id=43e6a6e8-d701-11e9-b23e-0242ac110003&authorized_profile_id=&Searchcat1=Woods&Searchcat2=Hybrids&Gender=Mens&Dexterity=Right&Flex=Regular&sort_by_field=Price+Low+To+High&search_return=all&Searchcondition=Used'
    #df = single_threaded(SEARCH)
    df = multi_threaded(SEARCH)
    pandasgui.show(df)
Exemplo n.º 5
0
def main():
    tickers = 'SPY AAPL MRNA TSLA'
    data = yf.download(tickers, period='max', group_by='ticker')
    dirty = pd.DataFrame(data['TSLA'])
    frame = clean_data(dirty)
    sma = frame.rolling(5).mean()
    lma = frame.rolling(30).mean()
    crossovers = calc_crossovers(sma, lma)
    show(dirty, frame)
Exemplo n.º 6
0
def calc_crossovers(sma, lma):
    num_points = len(clean_data(lma))
    #Currently using only closing prices
    sma = sma['Close']
    lma = lma['Close']
    high = (sma > lma)[-num_points:]
    crossovers = high.astype(int).diff()[1:]
    show(crossovers)
    return crossovers[crossovers != 0]
Exemplo n.º 7
0
def main(args):
    """main"""
    logger.debug(f"Args: {args}")
    processor = PROCESSORS[args.process]
    data = processor(pd.read_csv(args.csv, sep=args.delim), args)
    if args.filter:
        data = data.query(args.filter)
    if args.interactive:
        show(data)
    plot(data, args)
def main():
    tickers = 'SPY AAPL MRNA TSLA'
    data = yf.download(tickers, period='max', group_by='ticker')
    dirty = pd.DataFrame(data['TSLA'])
    frame = clean_data(dirty)
    sma = frame.rolling(10).mean()
    lma = frame.rolling(30).mean()
    crossovers = calc_crossovers(sma, lma)
    income = profit(frame['Close'], crossovers)
    show(frame, sma, lma, crossovers, profit)
def main():
    tickers = 'TSLA SPY'
    data = yf.download(tickers, period='max', group_by='ticker')
    dirty = pd.DataFrame(data['TSLA'])
    #Currently using only closing prices
    frame = clean_data(dirty)['Close']

    periods = optimize(frame)
    print(periods)
    show(frame)
Exemplo n.º 10
0
def show_common_eff_graph():
    weights = np.empty((len(f), len(f)), dtype=set)

    for i in range(len(f)):
        for j in range(len(f)):
            weights[i, j] = common_words(f.loc[i, "Effect"], f.loc[j,
                                                                   "Effect"])

    graph_df = pd.DataFrame(columns=["S", "T", "W", "C", "E1", "E2"])
    graph_df.astype({
        "S": str,
        "T": str,
        "W": int,
        "C": str,
        "E1": str,
        "E2": str
    })
    c = 0
    for i in range(len(f)):
        for j in range(len(f)):
            if i < j and len(weights[i, j]) > 0:
                graph_df.loc[c] = [
                    f.loc[i, "Card name"], f.loc[j, "Card name"],
                    len(weights[i, j]), ", ".join(weights[i, j]),
                    f.loc[i, "Effect"], f.loc[j, "Effect"]
                ]
                c += 1

    print(graph_df)

    graph = nx.from_pandas_edgelist(graph_df,
                                    source="S",
                                    target="T",
                                    edge_attr=True)

    net = Network(notebook=True, width="100%", height="100%")
    net.from_nx(graph)
    for node in net.nodes:
        try:
            color = type_to_color[f.loc[f["Card name"] == node["label"]]
                                  ["Type"][0]]
            size = (f.loc[f["Card name"] == node["label"]]["Cost"][0] + 1) * 5
            shape = part_to_shape[f.loc[f["Card name"] == node["label"]]
                                  ["Part"][0]]

            node.options.update({"color": color, "size": size, "shape": shape})
        except KeyError as e:
            print(node)

    net.show("example.html")

    import webbrowser
    webbrowser.open("example.html", new=2)

    show(graph_df)
Exemplo n.º 11
0
def run_analysis(periods, data):
    '''
    Objective function for minimization, runs profit calculation with given periods and data
    Returns negative profit for minimization (maximization of profit)
    '''
    short_period = int(round(periods[0]))
    long_period = int(round(periods[1]))
    sma = data.rolling(short_period).mean()
    lma = data.rolling(long_period).mean()
    show(sma, lma)
    crossovers = calc_crossovers(sma, lma)
    return -1 * profit(data, crossovers)
def visualize(data, short_period, long_period):
    show(data)
    sma = data.rolling(short_period).mean()
    lma = data.rolling(long_period).mean()
    crossovers = calc_crossovers(sma, lma)
    buys = pd.DataFrame(crossovers[crossovers == 1.0])
    sells = pd.DataFrame(crossovers[crossovers == -1.0])
    data.plot(color='black')
    for buy in buys.index:
        plt.axvline(buy, color="green")
    for sell in sells.index:
        plt.axvline(sell, color="red")
    plt.show()
Exemplo n.º 13
0
def get_ticker(ticker: str):
    try:
        df = daily_df(ticker)
        df = df.rename(
            columns={
                "open": "OPEN",
                "high": "HIGH",
                "low": "LOW",
                "close": "CLOSE",
                "volume": "VOLUME"
            })
        params = {str(locals()['ticker']): df}
        show(**params)
    except:
        messagebox.showerror("Error!", "Invalid ticker entered!")
def visualize(data, short_period, long_period):
    sma = data.rolling(short_period).mean()
    lma = data.rolling(long_period).mean()
    crossovers = calc_crossovers(sma, lma)
    buys = pd.DataFrame(crossovers[crossovers == 1.0])
    sells = pd.DataFrame(crossovers[crossovers == -1.0])
    plot_sells = sells * data
    plot_buys = buys * data
    show(plot_sells, plot_buys)
    # show(data,crossovers)
    data.plot(color='black')
    crossovers.plot(kind='scatter',
                    x=crossovers.index,
                    y='Close',
                    color='green')
    plt.show()
Exemplo n.º 15
0
def calc_crossovers(sma, lma):
    num_points = len(clean_data(lma))
    #Currently using only closing prices
    sma = clean_data(sma['Close']
    lma = lma['Close']
    #sma corresponds to 0
    show(sma, lma, sma > lma)
    # higher = lma
    # crossovers = (sma['Low'] - lma['Low']) * (sma['High'] - lma['High']) < 0
    # return crossovers.index[crossovers].tolist()

# def moving_averages(data):


# def kde_h(data, h):
    

if __name__ == "__main__":
    main()
Exemplo n.º 16
0
def reminder():
    print('■ how to `sweerviz`:\n\
import sweetviz as sv \n\
my_report = sv.compare([train, "Train"], [test, "Test"], TARGET_COL) \n\
my_report.show_html("OUTPUT_DIR/Report.html")')

    print('')

    print('■ how to `pandasgui`:\n\
from pandasgui import show \n\
show(df)')
Exemplo n.º 17
0
def get_sell20():
    df = top20(data_averaged, 'sell')
    params = {"Top 20 Sells": df}
    show(**params)
Exemplo n.º 18
0
def manual_parent_selection_helper():
    pd.set_option("display.max_rows", None, "display.max_columns", None)
    pd.set_option('display.width', 1000)
    pd.set_option('display.max_colwidth', 500)
    pd.set_option('display.float_format', lambda x: '%.2f' % x)

    # TODO maybe show market floor price for hit / miss / ok
    # TODO use card names instead of part names

    probs = (0.375, 0.09375, 0.03125)

    while 1:

        try:
            with open("breeding_helper_hist.json", "r+") as file:
                hist = json.load(file)

                c_imp = hist["c_imp"]
                c_desi = hist["c_desi"]
                c_acce = hist["c_acce"]

                c_parent = hist["c_parent"]
                c_candidates = hist["c_candidates"]

        except Exception as e:
            c_imp = list()
            c_desi = list()
            c_acce = list()

            c_parent = ""
            c_candidates = list()

        print(
            "Input card names split by ';' or type '.' to use previous settings"
        )

        imp, desi, acc = None, None, None

        while not all([imp, desi, acc]):
            imp = input("  Relevant parts: ")
            desi = input("Desireable genes: ")
            acc = input("Acceptable genes: ")

        parts = [s.strip().lower()
                 for s in imp.split(",")] + c_imp if desi != "." else c_imp
        desireable_genes = [s.strip().lower() for s in desi.split(";")
                            ] + c_desi if desi != "." else c_desi
        acceptable_genes = [s.strip().lower() for s in acc.split(";")
                            ] + c_acce if acc != "." else c_acce

        parent = None
        while not parent:
            parent = input("       Parent ID: ")
            parent_id = parent if parent != "." else c_parent

        candidates = input("   Candidate IDs: ")
        candidate_ids = candidates.split(
        ) + c_candidates if candidates != "." else c_candidates

        print(f'     Parts: {parts}\n'
              f'Desireable: {desireable_genes}\n'
              f'Acceptable: {acceptable_genes}\n'
              f'    Parent: {parent_id}\n'
              f'Candidates: {candidate_ids}\n')

        with open("breeding_helper_hist.json", "w+") as file:
            json.dump(
                {
                    "c_imp": list(set(parts + c_imp)),
                    "c_desi": list(set(desireable_genes + c_desi)),
                    "c_acce": list(set(acceptable_genes + c_acce)),
                    "c_parent": parent_id,
                    "c_candidates": list(set(candidate_ids + c_candidates))
                }, file)

        parent_genes = get_genes_by_id(parent_id)
        candidate_data = [(get_genes_by_id(cid), get_axie_price(cid))
                          for cid in candidate_ids]
        for i, (g, p) in enumerate(candidate_data):
            if not p:
                del candidate_ids[i]
        candidate_data = [(g, p) for g, p in candidate_data if p]

        parent_probs = get_part_percentages(parent_genes, desireable_genes,
                                            acceptable_genes)

        results = {
            cid: {  # "genes": candidate_data[i][0],
                " hit prob": -1,
                "  ok prob": -1,
                "miss prob": -1,
                "price": -1,
                "hit p/price": -1,
                "ok p/price": -1
            }
            for i, cid in enumerate(candidate_ids)
        }
        part_probs = {cid: 0 for cid in candidate_ids}

        for cid, (c_genes, c_price) in zip(candidate_ids, candidate_data):
            cand_probs = get_part_percentages(c_genes)

            breed_probs = {
                t: {
                    part: parent_probs[i][part] + cand_probs[i][part]
                    for part in parts
                }
                for i, t in enumerate(("hit", "ok"))
            }

            overall_hit_prob = reduce(lambda x, y: x * y,
                                      breed_probs["hit"].values())
            overall_acc_prob = reduce(lambda x, y: x * y, [
                min(1, breed_probs["hit"][part] + breed_probs["ok"][part])
                for part in parts
            ])
            overall_miss_prob = 1 - overall_acc_prob

            part_probs[cid] = breed_probs
            results[cid][" hit prob"] = int(overall_hit_prob * 100)
            results[cid]["  ok prob"] = int(overall_acc_prob * 100)
            results[cid]["miss prob"] = int(overall_miss_prob * 100)
            results[cid]["price"] = c_price
            results[cid]["hit p/price"] = int(100 * overall_hit_prob / c_price)
            results[cid]["ok p/price"] = int(100 * overall_acc_prob / c_price)
            results[cid]["no hit after 2"] = (1 - overall_hit_prob)**2
            results[cid]["no hit after 3"] = (1 - overall_hit_prob)**3
            results[cid]["no hit after 4"] = (1 - overall_hit_prob)**4
        """for k, v in dict(sorted(results.items(), key=lambda r: r[1]["hit p/price"], reverse=True)).items():
            print("Axie", k, f'Worth: {v["hit p/price"]}')
            pp(v, indent=4)"""

        df = pd.DataFrame(
            dict(
                sorted(results.items(),
                       key=lambda r: r[1]["hit p/price"],
                       reverse=True)))
        print(df)

        for i in range(len(candidate_ids)):
            print("\n", candidate_ids[i])
            pp(part_probs[candidate_ids[i]])
            for k, v in candidate_data[i][0].items():
                if k == "element":
                    print(k, v)
                else:
                    print("\t", k)
                    print("\t\t", v)

        show(df.transpose())

        action = input("\nType 'reset' to reset settings, 'exit' to exit: ")

        if action == "exit":
            print("Exiting ...")
            exit(0)

        if action == "reset":
            print("Deleting history file ...")
            import os
            os.remove("breeding_helper_hist.json")
Exemplo n.º 19
0
                'lvl': lvl,
                'price': priceGetter.get_category_jewel_price(a, lvl)
            }
            lvlPrice.append(x)
        a['breakpointPrices'] = lvlPrice
        for b in comb:
            if query == 1:
                min_lvl = b['notableLevel']
            else:
                seq = [x['notableLevel'] for x in b]
                min_lvl = max(seq)
            for item in a['breakpointPrices']:
                if item['lvl'] == min_lvl:
                    jewel_price = item['price']
                    break
            notableData = priceGetter.getNotablePrice(a, b, query, inp,
                                                      jewel_price)
            if notableData != 0:
                all_averages.append(notableData)

    toggle_console(0)

    df = pd.DataFrame(all_averages)
    df.drop(['request', 'category_full', 'notable_full', 'id'],
            axis=1,
            inplace=True)
    #gui
    pg.show(df)
except Exception as e:
    print(e)
    stop = int(input())
Exemplo n.º 20
0
    #     new_table.validate(self)
    #   File "C:\Users\Johnson\Anaconda2\envs\py39\lib\site-packages\pandas\io\pytables.py", line 3292, in validate
    #     raise ValueError(
    # ValueError: invalid combination of [values_axes] on appending data [name->values_block_0,cname->values_block_0,dtype->bytes80,kind->string,shape->(2, 3)] vs current table [name->values_block_0,cname->values_block_0,dtype->b'string80',kind->string,shape->None]

    pandasguisettings = {'block': 'True'}
    for h5_fname in fname:
        h5keys = []
        with SafeHDFStore(h5_fname) as h5:
            # import ipdb;ipdb.set_trace()
            print("name:", h5)
            h5keys = list(h5.keys())
            # th = threading.Thread(target=show(h5.all))
            # th.start()

        for key in h5keys:
            print("key:", key)
            h5 = load_hdf_db(h5_fname, table=key, timelimit=False)

            # show(h5[key],settings=pandasguisettings)
            show(h5, settings=pandasguisettings)
            # print(h5['all'].loc['600007'])
        # h5.remove('high_10_y_20170620_all_15')
        # print h5
        # dd = h5['d_21_y_all']
        # print len(set(dd.timel))
        # print time.time()- np.mean(list(set(dd.timel)))

    # Only put inside this block the code which operates on the store
    # store['result'] = df
Exemplo n.º 21
0
    def __init__(self):
        super().__init__()

        self.tabs = QTabWidget()
        layout = QVBoxLayout()
        layout.addWidget(self.tabs)
        self.setLayout(layout)

        #########################
        # Reusable stuff
        icon = self.style().standardIcon(QtWidgets.QStyle.SP_VistaShield)
        scene = QGraphicsScene()
        scene.addEllipse(10, 10, 100, 100, QtGui.QPen(
            Qt.black), QtGui.QBrush(Qt.red))
        scene.addRect(-10, -10, 50, 50, QtGui.QPen(Qt.black),
                      QtGui.QBrush(Qt.green))

        #########################
        # Buttons (QRadioButton, QCheckBox, QPushButton, QToolButton, QCommandLinkButton)
        buttons_layout = QGridLayout()
        buttons_container = QWidget()
        buttons_container.setLayout(buttons_layout)
        self.tabs.addTab(buttons_container, "Buttons")
        buttons_layout.addWidget(QLabel("Enabled"), 0, 1)
        buttons_layout.addWidget(QLabel("Disabled"), 0, 2)
        buttons_layout.setRowStretch(999, 1)

        row = 1
        # QRadioButton (checked)
        buttons_layout.addWidget(QLabel("QRadioButton (checked)"), row, 0)

        x = QRadioButton("Lorem Ipsum")
        x.setEnabled(True)
        x.setChecked(True)
        buttons_layout.addWidget(x, row, 1)

        x = QRadioButton("Lorem Ipsum")
        x.setEnabled(False)
        x.setChecked(True)
        buttons_layout.addWidget(x, row, 2)

        row += 1
        # QRadioButton (unchecked)
        buttons_layout.addWidget(QLabel("QRadioButton (unchecked)"), row, 0)

        x = QRadioButton("Lorem Ipsum")
        x.setEnabled(True)
        x.setChecked(False)
        buttons_layout.addWidget(x, row, 1)

        x = QRadioButton("Lorem Ipsum")
        x.setEnabled(False)
        x.setChecked(False)
        buttons_layout.addWidget(x, row, 2)

        row += 1
        # QCheckBox (checked)
        buttons_layout.addWidget(QLabel("QCheckBox (checked)"), row, 0)

        x = QCheckBox("Lorem Ipsum")
        x.setEnabled(True)
        x.setChecked(True)
        buttons_layout.addWidget(x, row, 1)

        x = QCheckBox("Lorem Ipsum")
        x.setEnabled(False)
        x.setChecked(True)
        buttons_layout.addWidget(x, row, 2)

        row += 1
        # QCheckBox (unchecked)
        buttons_layout.addWidget(QLabel("QCheckBox (unchecked)"), row, 0)

        x = QCheckBox("Lorem Ipsum")
        x.setEnabled(True)
        x.setChecked(False)
        buttons_layout.addWidget(x, row, 1)

        x = QCheckBox("Lorem Ipsum")
        x.setEnabled(False)
        x.setChecked(False)
        buttons_layout.addWidget(x, row, 2)

        row += 1
        # QCheckBox (tristate)
        buttons_layout.addWidget(QLabel("QCheckBox (tristate)"), row, 0)

        x = QCheckBox("Lorem Ipsum")
        x.setEnabled(True)
        x.setCheckState(Qt.PartiallyChecked)
        buttons_layout.addWidget(x, row, 1)

        x = QCheckBox("Lorem Ipsum")
        x.setEnabled(False)
        x.setCheckState(Qt.PartiallyChecked)
        buttons_layout.addWidget(x, row, 2)

        row += 1
        # QPushButton
        buttons_layout.addWidget(QLabel("QPushButton"), row, 0)

        x = QPushButton("Lorem Ipsum")
        x.setEnabled(True)
        buttons_layout.addWidget(x, row, 1)

        x = QPushButton("Lorem Ipsum")
        x.setEnabled(False)
        buttons_layout.addWidget(x, row, 2)

        row += 1
        # QPushButton (checkable)
        buttons_layout.addWidget(QLabel("QPushButton (checkable)"), row, 0)

        x = QPushButton("Lorem Ipsum")
        x.setEnabled(True)
        x.setCheckable(True)
        x.setChecked(True)
        buttons_layout.addWidget(x, row, 1)

        x = QPushButton("Lorem Ipsum")
        x.setEnabled(False)
        x.setCheckable(True)
        x.setChecked(True)
        buttons_layout.addWidget(x, row, 2)

        #########################
        # Controls (QComboBox, QDial, QSlider, QScrollBar)

        controls_layout = QGridLayout()
        controls_container = QWidget()
        controls_container.setLayout(controls_layout)
        self.tabs.addTab(controls_container, "Controls")
        controls_layout.addWidget(QLabel("Enabled"), 0, 1)
        controls_layout.addWidget(QLabel("Disabled"), 0, 2)
        controls_layout.setRowStretch(999, 1)

        row = 1
        # QComboBox
        controls_layout.addWidget(QLabel("QComboBox"), row, 0)

        x = QComboBox()
        x.setEnabled(True)
        x.addItem("Lorem Ipsum 1")
        x.addItem("Lorem Ipsum 2")
        x.addItem(icon, "Lorem Ipsum 3 (icon)")
        controls_layout.addWidget(x, row, 1)

        x = QComboBox()
        x.setEnabled(False)
        x.addItem("Lorem Ipsum 1")
        x.addItem("Lorem Ipsum 2")
        x.addItem(icon, "Lorem Ipsum 3 (icon)")
        controls_layout.addWidget(x, row, 2)

        row += 1
        # QComboBox (editable)
        controls_layout.addWidget(QLabel("QComboBox (editable)"), row, 0)

        x = QComboBox()
        x.setEnabled(True)
        x.setEditable(True)
        x.addItem("Lorem Ipsum 1")
        x.addItem("Lorem Ipsum 2")
        x.addItem(icon, "Lorem Ipsum 3 (icon)")
        controls_layout.addWidget(x, row, 1)

        x = QComboBox()
        x.setEnabled(False)
        x.setEditable(True)
        x.addItem("Lorem Ipsum 1")
        x.addItem("Lorem Ipsum 2")
        x.addItem(icon, "Lorem Ipsum 3 (icon)")
        controls_layout.addWidget(x, row, 2)

        row += 1
        # QDial
        controls_layout.addWidget(QLabel("QDial"), row, 0)

        x = QDial()
        x.setEnabled(True)
        controls_layout.addWidget(x, row, 1)

        x = QDial()
        x.setEnabled(False)
        controls_layout.addWidget(x, row, 2)

        row += 1
        # QSlider (horizontal)
        controls_layout.addWidget(QLabel("QSlider (horizontal)"), row, 0)

        x = QSlider()
        x.setEnabled(True)
        x.setOrientation(Qt.Horizontal)
        x.setValue(50)
        controls_layout.addWidget(x, row, 1)

        x = QSlider()
        x.setEnabled(False)
        x.setOrientation(Qt.Horizontal)
        x.setValue(50)
        controls_layout.addWidget(x, row, 2)

        row += 1
        # QSlider (vertical)
        controls_layout.addWidget(QLabel("QSlider (vertical)"), row, 0)

        x = QSlider()
        x.setEnabled(True)
        x.setOrientation(Qt.Vertical)
        x.setValue(50)
        controls_layout.addWidget(x, row, 1)

        x = QSlider()
        x.setEnabled(False)
        x.setOrientation(Qt.Vertical)
        x.setValue(50)
        controls_layout.addWidget(x, row, 2)

        row += 1
        # QScrollBar (horizontal)
        controls_layout.addWidget(QLabel("QScrollBar (horizontal)"), row, 0)

        x = QScrollBar()
        x.setEnabled(True)
        x.setOrientation(Qt.Horizontal)
        x.setValue(50)
        controls_layout.addWidget(x, row, 1)

        x = QScrollBar()
        x.setEnabled(False)
        x.setOrientation(Qt.Horizontal)
        x.setValue(50)
        controls_layout.addWidget(x, row, 2)

        row += 1
        # QScrollBar (vertical)
        controls_layout.addWidget(QLabel("QScrollBar (vertical)"), row, 0)

        x = QScrollBar()
        x.setEnabled(True)
        x.setOrientation(Qt.Vertical)
        x.setValue(50)
        controls_layout.addWidget(x, row, 1)

        x = QScrollBar()
        x.setEnabled(False)
        x.setOrientation(Qt.Vertical)
        x.setValue(50)
        controls_layout.addWidget(x, row, 2)

        #########################
        # Inputs (QLineEdit, QTextEdit, QPlainTextEdit, QSpinBox, QDoubleSpinBox, TimeEdit, DateEdit, TimeDateEdit)

        inputs_layout = QGridLayout()
        inputs_container = QWidget()
        inputs_container.setLayout(inputs_layout)
        self.tabs.addTab(inputs_container, "Inputs")
        inputs_layout.addWidget(QLabel("Enabled"), 0, 1)
        inputs_layout.addWidget(QLabel("Disabled"), 0, 2)
        inputs_layout.setRowStretch(999, 1)

        row = 1
        # QLineEdit
        inputs_layout.addWidget(QLabel("QLineEdit"), row, 0)

        x = QLineEdit("Lorem Ipsum")
        x.setEnabled(True)
        inputs_layout.addWidget(x, row, 1)

        x = QLineEdit("Lorem Ipsum")
        x.setEnabled(False)
        inputs_layout.addWidget(x, row, 2)

        row += 1
        # QTextEdit
        inputs_layout.addWidget(QLabel("QTextEdit"), row, 0)

        x = QTextEdit("<h3>Lorem Ipsum</h3>")
        x.setEnabled(True)
        inputs_layout.addWidget(x, row, 1)

        x = QTextEdit("<h3>Lorem Ipsum<h3>")
        x.setEnabled(False)
        inputs_layout.addWidget(x, row, 2)

        row += 1
        # QPlainTextEdit
        inputs_layout.addWidget(QLabel("QPlainTextEdit"), row, 0)

        x = QPlainTextEdit("Lorem Ipsum")
        x.setEnabled(True)
        inputs_layout.addWidget(x, row, 1)

        x = QPlainTextEdit("Lorem Ipsum")
        x.setEnabled(False)
        inputs_layout.addWidget(x, row, 2)

        row += 1
        # QSpinBox
        inputs_layout.addWidget(QLabel("QSpinBox"), row, 0)

        x = QSpinBox()
        x.setEnabled(True)
        inputs_layout.addWidget(x, row, 1)

        x = QSpinBox()
        x.setEnabled(False)
        inputs_layout.addWidget(x, row, 2)

        row += 1
        # QDoubleSpinBox
        inputs_layout.addWidget(QLabel("QDoubleSpinBox"), row, 0)

        x = QDoubleSpinBox()
        x.setEnabled(True)
        inputs_layout.addWidget(x, row, 1)

        x = QDoubleSpinBox()
        x.setEnabled(False)
        inputs_layout.addWidget(x, row, 2)

        row += 1
        # QTimeEdit
        inputs_layout.addWidget(QLabel("QTimeEdit"), row, 0)

        x = QTimeEdit()
        x.setEnabled(True)
        inputs_layout.addWidget(x, row, 1)

        x = QTimeEdit()
        x.setEnabled(False)
        inputs_layout.addWidget(x, row, 2)

        row += 1
        # QDateEdit
        inputs_layout.addWidget(QLabel("QDateEdit"), row, 0)

        x = QDateEdit()
        x.setEnabled(True)
        inputs_layout.addWidget(x, row, 1)

        x = QDateEdit()
        x.setEnabled(False)
        inputs_layout.addWidget(x, row, 2)

        row += 1
        # QDateTimeEdit
        inputs_layout.addWidget(QLabel("QDateTimeEdit"), row, 0)

        x = QDateTimeEdit()
        x.setEnabled(True)
        inputs_layout.addWidget(x, row, 1)

        x = QDateTimeEdit()
        x.setEnabled(False)
        inputs_layout.addWidget(x, row, 2)

        #########################
        # Displays (QLabel, QTextBrowser, QGraphicsView, QLCDNumber, QProgressBar, QLine)

        displays_layout = QGridLayout()
        displays_container = QWidget()
        displays_container.setLayout(displays_layout)
        self.tabs.addTab(displays_container, "Displays")
        displays_layout.addWidget(QLabel("Enabled"), 0, 1)
        displays_layout.addWidget(QLabel("Disabled"), 0, 2)
        displays_layout.setRowStretch(999, 1)

        row = 1
        # QLabel
        displays_layout.addWidget(QLabel("QLabel"), row, 0)

        x = QLabel("Lorem Ipsum")
        x.setEnabled(True)
        displays_layout.addWidget(x, row, 1)

        x = QLabel("Lorem Ipsum")
        x.setEnabled(False)
        displays_layout.addWidget(x, row, 2)

        row += 1
        # QTextBrowser
        displays_layout.addWidget(QLabel("QTextBrowser"), row, 0)

        x = QTextBrowser()
        x.setEnabled(True)
        x.setFixedHeight(100)
        x.setHtml("<h3>Lorem Ipsum<h3>")
        displays_layout.addWidget(x, row, 1)

        x = QTextBrowser()
        x.setEnabled(False)
        x.setFixedHeight(100)
        x.setHtml("<h3>Lorem Ipsum<h3>")
        displays_layout.addWidget(x, row, 2)

        row += 1
        # QGraphicsView
        displays_layout.addWidget(QLabel("QGraphicsView"), row, 0)

        x = QGraphicsView()
        x.setEnabled(True)
        x.setFixedHeight(100)
        x.setScene(scene)
        displays_layout.addWidget(x, row, 1)

        x = QGraphicsView()
        x.setEnabled(False)
        x.setFixedHeight(100)
        x.setScene(scene)
        displays_layout.addWidget(x, row, 2)

        row += 1
        # QLCDNumber
        displays_layout.addWidget(QLabel("QLCDNumber"), row, 0)

        x = QLCDNumber()
        x.setEnabled(True)
        x.display(12345.6789)
        displays_layout.addWidget(x, row, 1)

        x = QLCDNumber()
        x.setEnabled(False)
        x.display(12345.6789)
        displays_layout.addWidget(x, row, 2)

        row += 1
        # QProgressBar
        displays_layout.addWidget(QLabel("QProgressBar"), row, 0)

        x = QProgressBar()
        x.setEnabled(True)
        x.setValue(50)
        displays_layout.addWidget(x, row, 1)

        x = QProgressBar()
        x.setEnabled(False)
        x.setValue(50)
        displays_layout.addWidget(x, row, 2)

        row += 1
        # QCalendarWidget
        displays_layout.addWidget(QLabel("QCalendarWidget"), row, 0)

        x = QCalendarWidget()
        x.setEnabled(True)
        displays_layout.addWidget(x, row, 1)

        x = QCalendarWidget()
        x.setEnabled(False)
        displays_layout.addWidget(x, row, 2)

        #########################
        # Containers

        containers_layout = QGridLayout()
        containers_container = QWidget()
        containers_container.setLayout(containers_layout)
        self.tabs.addTab(containers_container, "Containers")
        containers_layout.addWidget(QLabel("Enabled"), 0, 1)
        containers_layout.addWidget(QLabel("Disabled"), 0, 2)
        containers_layout.setRowStretch(999, 1)

        row = 1
        # QScrollArea
        containers_layout.addWidget(QLabel("QScrollArea"), row, 0)

        x = QScrollArea()
        x.setEnabled(True)
        x.setFixedSize(250, 150)
        x.setWidget(QLabel(("Lorem Ipsum " * 5 + "\n") * 20))
        containers_layout.addWidget(x, row, 1)

        x = QScrollArea()
        x.setEnabled(False)
        x.setFixedSize(250, 150)
        x.setWidget(QLabel(("Lorem Ipsum " * 5 + "\n") * 20))
        containers_layout.addWidget(x, row, 2)

        row += 1
        # QFrame
        containers_layout.addWidget(QLabel("QFrame"), row, 0)

        x = QLabel("Lorem Ipsum")
        x.setEnabled(True)
        x.setGeometry(QtCore.QRect(89, 403, 194, 40))
        x.setFrameShape(QtWidgets.QFrame.StyledPanel)
        x.setFrameShadow(QtWidgets.QFrame.Raised)
        containers_layout.addWidget(x, row, 1)

        x = QLabel("Lorem Ipsum")
        x.setEnabled(False)
        x.setFrameShape(QtWidgets.QFrame.StyledPanel)
        x.setFrameShadow(QtWidgets.QFrame.Raised)
        containers_layout.addWidget(x, row, 2)

        row += 1
        # QGroupBox
        containers_layout.addWidget(QLabel("QGroupBox"), row, 0)

        x = QGroupBox()
        x.setEnabled(True)
        l = QVBoxLayout()
        l.addWidget(QLabel("Lorem Ipsum"))
        x.setLayout(l)
        x.setTitle("Lorem Ipsum")
        containers_layout.addWidget(x, row, 1)

        x = QGroupBox()
        x.setEnabled(False)
        l = QVBoxLayout()
        l.addWidget(QLabel("Lorem Ipsum"))
        x.setLayout(l)
        x.setTitle("Lorem Ipsum")
        containers_layout.addWidget(x, row, 2)

        row += 1
        # QToolBox
        containers_layout.addWidget(QLabel("QToolBox"), row, 0)

        x = QToolBox()
        x.setEnabled(True)
        x.addItem(QLabel("Lorem Ipsum 1"), "Lorem Ipsum 1")
        x.addItem(QLabel("Lorem Ipsum 2"), "Lorem Ipsum 2")
        x.addItem(QLabel("Lorem Ipsum 3 (icon)"), icon, "Lorem Ipsum 3")
        containers_layout.addWidget(x, row, 1)

        x = QToolBox()
        x.setEnabled(False)
        x.addItem(QLabel("Lorem Ipsum 1"), "Lorem Ipsum 1")
        x.addItem(QLabel("Lorem Ipsum 2"), "Lorem Ipsum 2")
        x.addItem(QLabel("Lorem Ipsum 3"), icon, "Lorem Ipsum 3 (icon)")
        containers_layout.addWidget(x, row, 2)

        row += 1
        # QSplitter
        containers_layout.addWidget(QLabel("QSplitter"), row, 0)

        x = QSplitter()
        x.setEnabled(True)
        x.addWidget(QLabel("Lorem Ipsum 1"))
        x.addWidget(QLabel("Lorem Ipsum 2"))
        x.setFixedHeight(50)
        containers_layout.addWidget(x, row, 1)

        x = QSplitter()
        x.setEnabled(False)
        x.addWidget(QLabel("Lorem Ipsum 1"))
        x.addWidget(QLabel("Lorem Ipsum 2"))
        x.setFixedHeight(50)
        containers_layout.addWidget(x, row, 2)

        row += 1
        # QStackedWidget
        containers_layout.addWidget(QLabel("QStackedWidget"), row, 0)

        x = QStackedWidget()
        x.setEnabled(True)
        x.addWidget(QLabel("Lorem Ipsum 1"))
        x.addWidget(QLabel("Lorem Ipsum 2"))
        containers_layout.addWidget(x, row, 1)

        x = QStackedWidget()
        x.setEnabled(False)
        x.addWidget(QLabel("Lorem Ipsum 1"))
        x.addWidget(QLabel("Lorem Ipsum 2"))
        containers_layout.addWidget(x, row, 2)

        row += 1
        # QWidget
        containers_layout.addWidget(QLabel("QWidget"), row, 0)

        x = QWidget()
        x.setEnabled(True)
        QLabel("Lorem Ipsum", x)
        containers_layout.addWidget(x, row, 1)

        x = QWidget()
        x.setEnabled(False)
        QLabel("Lorem Ipsum", x)
        containers_layout.addWidget(x, row, 2)

        #########################
        # Tabs (QTabWidget)

        tabs_layout = QGridLayout()
        tabs_container = QWidget()
        tabs_container.setLayout(tabs_layout)
        self.tabs.addTab(tabs_container, "Tabs")
        tabs_layout.addWidget(QLabel("Enabled"), 0, 1)
        tabs_layout.addWidget(QLabel("Disabled"), 0, 2)
        tabs_layout.setRowStretch(999, 1)

        row = 1
        # QTabWidget (North)
        tabs_layout.addWidget(QLabel("QTabWidget (North)"), row, 0)

        x = QTabWidget()
        x.setEnabled(True)
        x.setTabsClosable(True)
        x.setTabPosition(QTabWidget.TabPosition.North)
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 1")
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 2")
        tabs_layout.addWidget(x, row, 1)

        x = QTabWidget()
        x.setEnabled(False)
        x.setTabsClosable(True)
        x.setTabPosition(QTabWidget.TabPosition.North)
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 1")
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 2")
        tabs_layout.addWidget(x, row, 2)

        row += 1
        # QTabWidget (West)
        tabs_layout.addWidget(QLabel("QTabWidget (West)"), row, 0)

        x = QTabWidget()
        x.setEnabled(True)
        x.setTabsClosable(True)
        x.setTabPosition(QTabWidget.TabPosition.West)
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 1")
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 2")
        tabs_layout.addWidget(x, row, 1)

        x = QTabWidget()
        x.setEnabled(False)
        x.setTabsClosable(True)
        x.setTabPosition(QTabWidget.TabPosition.West)
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 1")
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 2")
        tabs_layout.addWidget(x, row, 2)

        row += 1
        # QTabWidget (South)
        tabs_layout.addWidget(QLabel("QTabWidget (South)"), row, 0)

        x = QTabWidget()
        x.setEnabled(True)
        x.setTabsClosable(True)
        x.setTabPosition(QTabWidget.TabPosition.South)
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 1")
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 2")
        tabs_layout.addWidget(x, row, 1)

        x = QTabWidget()
        x.setEnabled(False)
        x.setTabsClosable(True)
        x.setTabPosition(QTabWidget.TabPosition.South)
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 1")
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 2")
        tabs_layout.addWidget(x, row, 2)

        row += 1
        # QTabWidget (East)
        tabs_layout.addWidget(QLabel("QTabWidget (East)"), row, 0)

        x = QTabWidget()
        x.setEnabled(True)
        x.setTabsClosable(True)
        x.setTabPosition(QTabWidget.TabPosition.East)
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 1")
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 2")
        tabs_layout.addWidget(x, row, 1)

        x = QTabWidget()
        x.setEnabled(False)
        x.setTabsClosable(True)
        x.setTabPosition(QTabWidget.TabPosition.East)
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 1")
        x.addTab(QLabel(("Lorem Ipsum " * 2 + "\n") * 4), "Tab 2")
        tabs_layout.addWidget(x, row, 2)

        #########################
        # Widgets (QTreeWidget, QListWidget, QTableWidget)

        widgets_layout = QGridLayout()
        widgets_container = QWidget()
        widgets_container.setLayout(widgets_layout)
        self.tabs.addTab(widgets_container, "Widgets")
        widgets_layout.addWidget(QLabel("Enabled"), 0, 1)
        widgets_layout.addWidget(QLabel("Disabled"), 0, 2)
        widgets_layout.setRowStretch(999, 1)

        row = 1
        # QTableWidget
        widgets_layout.addWidget(QLabel("QTableWidget"), row, 0)

        x = QTableWidget()
        x.setAlternatingRowColors(True)
        x.setEnabled(True)
        x.setSortingEnabled(True)
        x.setRowCount(20)
        x.setColumnCount(20)
        for tr in range(20):
            for tc in range(20):
                x.setItem(tr, tc, QTableWidgetItem(f"Item-{tr}-{tc}"))
        item = QTableWidgetItem("Checkable")
        item.setCheckState(Qt.Checked)
        x.setItem(0, 0, item)
        widgets_layout.addWidget(x, row, 1)

        x = QTableWidget()
        x.setAlternatingRowColors(True)
        x.setEnabled(False)
        x.setSortingEnabled(True)
        x.setRowCount(20)
        x.setColumnCount(20)
        for tr in range(20):
            for tc in range(20):
                x.setItem(tr, tc, QTableWidgetItem(f"Item-{tr}-{tc}"))
        item = QTableWidgetItem("Checkable")
        item.setCheckState(Qt.Checked)
        x.setItem(0, 0, item)
        widgets_layout.addWidget(x, row, 2)

        row += 1
        # QTreeWidget
        widgets_layout.addWidget(QLabel("QTreeWidget"), row, 0)

        x = QTreeWidget()
        x.setEnabled(True)
        x.setHeaderLabels(['1', '2'])
        for a in range(10):
            item = QTreeWidgetItem(x, [f"Col1 Item-{a}", f"Col2 Item-{a}"])
            for b in range(5):
                QTreeWidgetItem(
                    item, [f"Col1 Item-{a}-{b}", f"Col2 Item-{a}-{b}"])
        x.itemAt(0, 0).setCheckState(0, Qt.Checked)
        widgets_layout.addWidget(x, row, 1)

        x = QTreeWidget()
        x.setEnabled(False)
        x.setHeaderLabels(['1', '2'])
        for a in range(10):
            item = QTreeWidgetItem(x, [f"Col1 Item-{a}", f"Col2 Item-{a}"])
            for b in range(5):
                QTreeWidgetItem(
                    item, [f"Col1 Item-{a}-{b}", f"Col2 Item-{a}-{b}"])
        x.itemAt(0, 0).setCheckState(0, Qt.Checked)
        widgets_layout.addWidget(x, row, 2)

        row += 1
        # QListWidget
        widgets_layout.addWidget(QLabel("QTreeWidget"), row, 0)

        x = QListWidget()
        x.setEnabled(True)
        for a in range(10):
            x.addItem(f"Item-{a}")
        x.itemAt(0, 0).setCheckState(Qt.Checked)
        for index in range(x.count()):
            item = x.item(index)
            item.setFlags(item.flags() | QtCore.Qt.ItemIsEditable)
        widgets_layout.addWidget(x, row, 1)

        x = QListWidget()
        x.setEnabled(False)
        for a in range(10):
            x.addItem(f"Item-{a}")
        x.itemAt(0, 0).setCheckState(Qt.Checked)
        widgets_layout.addWidget(x, row, 2)

        #########################
        # Main Window

        container = QWidget()
        layout = QVBoxLayout()
        container.setLayout(layout)
        main_window = QMainWindow()
        main_window.setCentralWidget(container)
        self.tabs.addTab(main_window, "Main Window")

        # QStatusBar
        status_bar = QStatusBar()
        status_bar.setEnabled(True)
        status_bar.setToolTip("Status bar tooltip")
        main_window.setStatusBar(status_bar)

        # QToolTip
        x = QPushButton("Hover Me")
        x.setEnabled(True)
        x.setStatusTip("This is text set by .setStatusTip")
        x.setToolTip("This is text set by .setToolTip")
        layout.addWidget(x)

        # QMenu / QMenuBar
        menu: QMenuBar = main_window.menuBar().addMenu('&Menu')

        disabled_menu: QMenuBar = main_window.menuBar().addMenu('&Disabled Menu')
        disabled_menu.setEnabled(False)

        action1 = menu.addAction("Action1")
        action2 = menu.addAction("Action2")
        action3 = menu.addAction(icon, "Action3 (icon)")
        menu.addSeparator()
        submenu = menu.addMenu("Submenu")
        subaction4 = submenu.addAction("Submenu Action 1")
        subaction5 = submenu.addAction("Submenu Action 2")
        subaction6 = submenu.addAction("Submenu Action 3")
        menu.addSection("Advanced")
        action4 = QAction("Action4 (checkable)", menu, checkable=True)
        menu.addAction(action4)
        action5 = QAction("Action5 (checkable)", menu, checkable=True)
        menu.addAction(action5)
        action5.setChecked(True)

        # QToolBar
        toolbar = QToolBar()
        toolbar.addAction(action1)
        toolbar.addAction(action2)
        toolbar.addAction(action3)
        toolbar.addAction(action4)
        toolbar.addAction(action5)
        main_window.addToolBar(toolbar)

        # QToolButton
        # QSizeGrip

        # QDockWidget (North tabs)
        main_window.dock1 = QtWidgets.QDockWidget("One")
        main_window.dock2 = QtWidgets.QDockWidget("Two")
        main_window.dock3 = QtWidgets.QDockWidget("Three")
        main_window.content1 = QtWidgets.QWidget()
        main_window.content1.setStyleSheet("background-color:#330000;")
        main_window.content1.setMinimumSize(QtCore.QSize(50, 50))
        main_window.content2 = QtWidgets.QWidget()
        main_window.content2.setStyleSheet("background-color:#770000;")
        main_window.content2.setMinimumSize(QtCore.QSize(50, 50))
        main_window.content3 = QtWidgets.QWidget()
        main_window.content3.setStyleSheet("background-color:#AA0000;")
        main_window.content3.setMinimumSize(QtCore.QSize(50, 50))
        main_window.dock1.setWidget(main_window.content1)
        main_window.dock2.setWidget(main_window.content2)
        main_window.dock3.setWidget(main_window.content3)
        main_window.addDockWidget(Qt.RightDockWidgetArea, main_window.dock1)
        main_window.tabifyDockWidget(main_window.dock1, main_window.dock2)
        main_window.addDockWidget(Qt.RightDockWidgetArea, main_window.dock3)
        main_window.setDockOptions(
            main_window.GroupedDragging | main_window.AllowTabbedDocks | main_window.AllowNestedDocks)
        main_window.setTabPosition(
            Qt.AllDockWidgetAreas, QtWidgets.QTabWidget.North)

        # QDockWidget (South tabs)
        main_window.south_dock1 = QtWidgets.QDockWidget("One")
        main_window.south_dock2 = QtWidgets.QDockWidget("Two")
        main_window.south_dock3 = QtWidgets.QDockWidget("Three")
        main_window.south_content1 = QtWidgets.QWidget()
        main_window.south_content1.setStyleSheet("background-color:#003300;")
        main_window.south_content1.setMinimumSize(QtCore.QSize(50, 50))
        main_window.south_content2 = QtWidgets.QWidget()
        main_window.south_content2.setStyleSheet("background-color:#007700;")
        main_window.south_content2.setMinimumSize(QtCore.QSize(50, 50))
        main_window.south_content3 = QtWidgets.QWidget()
        main_window.south_content3.setStyleSheet("background-color:#00AA00;")
        main_window.south_content3.setMinimumSize(QtCore.QSize(50, 50))
        main_window.south_dock1.setWidget(main_window.south_content1)
        main_window.south_dock2.setWidget(main_window.south_content2)
        main_window.south_dock3.setWidget(main_window.south_content3)
        main_window.addDockWidget(
            Qt.BottomDockWidgetArea, main_window.south_dock1)
        main_window.tabifyDockWidget(
            main_window.south_dock1, main_window.south_dock2)
        main_window.addDockWidget(
            Qt.BottomDockWidgetArea, main_window.south_dock3)
        main_window.setDockOptions(
            main_window.GroupedDragging | main_window.AllowTabbedDocks | main_window.AllowNestedDocks)
        main_window.setTabPosition(
            Qt.BottomDockWidgetArea, QtWidgets.QTabWidget.South)

        #########################
        # Modals

        # QMessageBox
        # QDialog
        # QDialogButtonBox

        #########################
        # Temp

        try:
            self.gui = show(pokemon, mi_manufacturing, settings={
                            'block': False, 'theme': 'classic'})
            self.tabs.addTab(self.gui, "PandasGUI")
        except:
            pass
Exemplo n.º 22
0
def pandas_gui(data):
    show(data)
Exemplo n.º 23
0
def main():
    tickers = 'SPY AAPL MRNA'
    data = yf.download(tickers, period='max', group_by='ticker')
    frame = clean_data(pd.DataFrame(data['SPY']))
    averages = frame.rolling(4).mean()
    show(frame, averages)
Exemplo n.º 24
0
from pandasgui import show
import numpy as np
import pandas as pd

# Example 1 - Basic usage
df = pd.DataFrame(np.random.rand(5, 5),
                  columns=['col1', 'col2', 'col3', 'col4', 'col5'],
                  index=['A', 'B', 'C', 'D', 'E'])
show(df)

# Example 2 - Multiple DataFrames
from pandasgui.datasets import pokemon, titanic, mpg

show(pokemon, titanic, mileage=mpg)

# Example 3 - Multiple DataFrames with dictionary unpacking
from pandasgui.datasets import pokemon, titanic, mpg

df_dict = {"pokemon": pokemon, "titanic": titanic, "mileage": mpg}
show(**df_dict)
Exemplo n.º 25
0
def display_datatable():
    data = pd.read_csv('../../results/results.csv')
    #print(data)
    df = pd.DataFrame(data)
    show(df)
Exemplo n.º 26
0
import pandas as pd
#导入pandas可视化库
from pandasgui import show

df = pd.read_excel('mydata.xlsx')
show(df, settings={'block': True})
Exemplo n.º 27
0
def show_df(df):
    show(df)
Exemplo n.º 28
0
def get_indicators(ticker: str):

    df = indicator_data(ticker)
    params = {str(locals()['ticker']): df}
    show(**params)
Exemplo n.º 29
0
    return flat_index


if __name__ == '__main__':
    #### EXAMPLES ####
    from pandasgui import show

    X = False  # I'm just using "if X:" instead of "if False:" so my IDE doesn't complain about unreachable code
    #### flatten_multiindex ####
    if 1:
        arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
                  ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
        tuples = list(zip(*arrays))
        index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
        s = pd.Series(np.random.randn(8), index=index)
        show(s, nonblocking=True)
        s.index = flatten_multiindex(s.index)
        show(s)

    #### pivot ####
    if X:
        pass
    if X:
        df = pd.read_csv('sample_data/pokemon.csv')
        keys = ['Generation']
        categories = ['Type 1', 'Type 2']
        data = {'Attack': ['min', 'max'], 'Defense': ['mean']}
        # data = {'Attack': ['mean']}

        grouped = df.groupby(keys + categories)
        aggregated = grouped.agg(data)
Exemplo n.º 30
0
def get_buy20():
    df = top20(data_averaged)
    params = {"Top 20 Buys": df}
    show(**params)