Pourquoi ne pas créer facilement une table élégante avec Python?

Python est pratique

Python est pratique. Les graphiques peuvent être facilement créés avec matplotlib et les calculs numériques peuvent être effectués avec numpy. Récemment, Python est utilisé pour la recherche sur l'apprentissage automatique et peut créer des jeux.

À ce moment-là, je me suis soudainement demandé: "Puis-je créer des diagrammes avec Python, mais puis-je aussi créer des tableaux?"

matplotlib La réponse était ici. Apparemment, matplotlib a une fonction pour créer une table. Si vous l'écrivez, cela ressemble à ceci.

import matplotlib.pyplot as plt
import pandas as pd


if __name__ == '__main__':
    data = {
        'a': [1.0, 2.1, 3.5, '-', 2.0, 1.0, 2.1, 3.5, 4.0, 2.0, ],
        'b': [5.7, 6.1, 7.2, 8.3, 1.2, 5.7, 6.1, 7.2, 8.3, '-', ],
        }

    df = pd.DataFrame(data)

    fig, ax = plt.subplots(figsize=(3, 3))

    ax.axis('off')
    ax.axis('tight')

    ax.table(cellText=df.values,
             colLabels=df.columns,
             bbox=[0, 0, 1, 1],
             )

    plt.show()

pytable

C'est un peu gênant de faire une table, et il n'est pas facile de changer le design de la table. Pour changer le design

import matplotlib.pyplot as plt
import pandas as pd


if __name__ == '__main__':
    data = {
        'Tokyo': [27, 23, 27, 24, 25, 23, 26],
        'Osaka': [26, 23, 27, 28, 24, 22, 27],
    }

    df = pd.DataFrame(data)

    fig, ax = plt.subplots(figsize=(3, 3))

    ax.axis('off')
    ax.axis('tight')

    tb = ax.table(cellText=df.values,
                  colLabels=df.columns,
                  bbox=[0, 0, 1, 1],
                  )

    tb[0, 0].set_facecolor('#363636')
    tb[0, 1].set_facecolor('#363636')
    tb[0, 0].set_text_props(color='w')
    tb[0, 1].set_text_props(color='w')

    plt.show()

Cela doit être comme ça. pytable

Cela semble un peu intentionnel, mais c'est un problème si vous êtes minutieux sur le design. Donc, sur la base de cette ** fonction de table matplotlib, créons une bibliothèque qui peut facilement créer des tables élégantes **. Je voulais aussi essayer PyPI, donc j'ai aussi essayé de faire pip install.

pyTable C'est un nom simple, mais je l'ai créé pour le moment. Bien sûr, il est déjà enregistré dans PyPI, donc

$ pip install pytab

Il peut être installé avec. Je voulais vraiment le rendre ** pytable **, mais j'ai fait un compromis car j'avais un contrat précédent. (Je veux que vous le supprimiez de PyPI, celui qui n'a pas été mis à jour depuis un certain temps.)

Ensuite, vous pouvez créer un tableau simple et élégant en spécifiant les arguments comme indiqué ci-dessous.

import pytab as pt


if __name__ == '__main__':
    data = {
        'Tokyo': [27, 23, 27, 24, 25, 23, 26],
        'Osaka': [26, 23, 27, 28, 24, 22, 27],
    }

    pt.table(
        data=data,
        th_type='dark',
        table_type='striped'
    )

    pt.show()

pytable

Vous pouvez définir d'autres tableaux en détail, mais les documents simples sont résumés ci-dessous, donc si vous êtes intéressé, jetez un œil. document pyTable

Source Github: HiroshiARAKI/pytable: pytable is the library to plot table easily. PyPI: pytab · PyPI

Épilogue

Comme vous pouvez le voir dans le code source, je n'ai pas écrit un si gros code. Avec cela, je pense que ** bibliothèque ** peut souvent être appelée si fièrement. Vous venez de terminer matplotlib! Je ne peux pas contester cela. Lol

Eh bien, c'est toujours une bibliothèque en développement, nous prévoyons donc de la rendre encore plus pratique à l'avenir (probablement). Si vous êtes intéressé, veuillez utiliser ** pyTable !! **

Recommended Posts

Pourquoi ne pas créer facilement une table élégante avec Python?
Vous pouvez facilement créer une interface graphique même avec Python
Facile à créer une application console Python avec Click
Créer un répertoire avec python
Créez un environnement virtuel avec Python!
Créer un décorateur de fonction Python avec Class
Créez une image factice avec Python + PIL.
[Python] Créez un environnement virtuel avec Anaconda
Créons un groupe gratuit avec Python
Créer un compteur de fréquence de mots avec Python 3.4
Créer un cadre avec un arrière-plan transparent avec tkinter [Python]
Créer un LINE BOT avec Minette pour Python
Créer un environnement virtuel avec conda avec Python
Créer une page qui se charge indéfiniment avec python
[Note] Créez une classe de fuseau horaire sur une ligne avec python
Créer un environnement de construction python3 avec Sublime Text3
Créer une barre de couleurs avec Python + Qt (PySide)
Étapes pour créer un bot Twitter avec Python
Créer un arbre de décision à partir de 0 avec Python (1. Présentation)
Créer une nouvelle page en confluence avec Python
Créer un widget avec une couleur spécifiée avec Python + Qt (PySide)
Créer un fichier au format Photoshop (.psd) avec python
Créer une table avec le notebook IPython
Créer un module Python
Faites facilement un bip avec python
Créer un environnement Python
J'ai essayé de créer facilement un système de présence entièrement automatique avec Selenium + Python
[Python] Générer ValueObject avec un constructeur complet à l'aide de classes de données
Créez un environnement de développement python avec vagrant + ansible + fabric
Créer une couche pour AWS Lambda Python dans Docker
[python] Créez un tableau de dates avec des incréments arbitraires avec np.arange
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
[Python] Créez un fichier de distribution pour le programme Tkinter avec cx_Freeze
Créez un faux serveur Minecraft en Python avec Quarry
Créer un fichier CAO 2D ".dxf" avec python [ezdxf]
Facilement sans serveur avec Python en utilisant Calice
Créer un dictionnaire en Python
Créer / rechercher / créer une table avec PynamoDB
Créer un gif 3D avec python3
Créer une page d'accueil avec django
La liste Python n'est pas une liste
Créer un tableau numpy python
Faites une loterie avec Python
Créez facilement un profil avec un décorateur
[Python] Créez un écran de spécification de chemin de fichier et de dossier avec tkinter
Créez un bot Mastodon avec une fonction pour répondre automatiquement avec Python
Recommandation de django, wagtail ~ Pourquoi développer un site web avec python ~
Créer un compte enfant de connect with Stripe en Python
Créons un script qui s'enregistre avec Ideone.com en Python.
Probablement le moyen le plus simple de créer un pdf avec Python 3
Créons un diagramme PRML avec Python, Numpy et matplotlib.
Créez un Twitter BOT avec le SDK GoogleAppEngine pour Python
Créez un outil d'analyse vidéo simple avec python wxpython + openCV
Créer une interface graphique aussi facilement que possible avec python [édition tkinter]
Créez un environnement de développement Python simple avec VSCode et Docker Desktop
Tornado - Créons une API Web qui renvoie facilement JSON avec JSON