[python] Utilisez DataFrame pour étiqueter ensemble des variables et des tableaux arbitraires et les enregistrer dans csv [pandas]

Je voulais enregistrer toutes les variables ensemble facilement, j'ai donc créé un tel programme. Il peut être enregistré en appliquant un tableau à deux dimensions.

... j'ai remarqué après avoir écrit, mais la méthode d'ajout est peut-être meilleure [Si vous êtes occupé, passez au post-scriptum](# postscript) [Si vous voulez simplement enregistrer toutes les variables, utilisez la méthode aneth](méthode #dill)

Avec la méthode append, une erreur s'est produite dans la relation de type ou les données que vous avez essayé d'utiliser. Je n'ai pas eu d'erreur lors de l'utilisation de DataFrame, donc Il peut ne pas être inutile d'insérer un DataFrame une fois.

import pandas as pd

Première importation de pandas


# ---Définir des variables pour les tests---
a ,b,c,d = 1,2,3,4
xx = [3,6,8]
yy = [5,8,2]
zz = [8,2,8]

Enregistrez cette fonction, array

# ---Collectez les variables dans le dataframe et enregistrez le CSV---
def getName(obj):
    return  [k for k, v in globals().items() if id(obj) == id(v)][0] #Renvoie le nom de la variable avec str

Obtenez le nom de la variable sous forme de str en utilisant cette fonction C'est presque un copier-coller de cet article Cliquez ici pour plus de détails

df = pd.DataFrame()

datas1 = [xx,yy,zz] #En utilisant le nom de la variable comme en-tête, assemblez un tableau unidimensionnel dans une trame de données
for data in datas1:
    df = pd.concat([df, pd.DataFrame({getName(data):data})],axis=1) # {}Ajouter un dataframe avec concat en utilisant set

Créez un DataFrame basé sur {name: value} et enregistrez de plus en plus dans df avec concat. En insérant axis = 1, il sera ajouté horizontalement

datas2 = [a,b,c,d]#Tout en utilisant le nom de la variable comme en-tête, regroupez les variables dans un dataframe
for data in datas2:
    df =  pd.concat([df, pd.DataFrame({getName(data):[data]})],axis=1)# {}Ajouter un dataframe avec concat en utilisant set

Faites la même chose qu'avant Puisque la «valeur» de «{nom: valeur}» doit être un tableau, la «valeur» est «[données]».

df.to_csv('test.csv')
print(df)
del df

Enregistrez et affichez. Puisque df a tendance à être utilisé à divers endroits, je vais le supprimer pour le moment.

Vous pouvez voir qu'il est affiché et enregistré correctement dans le tableau ci-dessous.

   xx  yy  zz    a    b    c    d
0   3   5   8  1.0  2.0  3.0  4.0
1   6   8   2  NaN  NaN  NaN  NaN
2   8   2   8  NaN  NaN  NaN  NaN

Code source

import pandas as pd

# ---Définir des variables pour les tests---
a ,b,c,d = 1,2,3,4
xx = [3,6,8]
yy = [5,8,2]
zz = [8,2,8]

# ---Collectez les variables dans le dataframe et enregistrez le CSV---
def getName(obj):
    return  [k for k, v in globals().items() if id(obj) == id(v)][0] #Renvoie le nom de la variable avec str

df = pd.DataFrame()

datas1 = [xx,yy,zz] #En utilisant le nom de la variable comme en-tête, assemblez un tableau unidimensionnel dans une trame de données
for data in datas1:
    df = pd.concat([df, pd.DataFrame({getName(data):data})],axis=1) # {}Ajouter un dataframe avec concat en utilisant set
    
datas2 = [a,b,c,d]#Tout en utilisant le nom de la variable comme en-tête, regroupez les variables dans un dataframe
for data in datas2:
    df =  pd.concat([df, pd.DataFrame({getName(data):[data]})],axis=1)# {}Ajouter un dataframe avec concat en utilisant set
df.to_csv('test.csv')
print(df)
del df

Postscript

Écrivez directement dans csv

# ---Définir des variables pour les tests---
a ,b,c,d = 1,2,3,4
xx = [3,6,8]
yy = [5,8,2]
zz = [8,2,8]
import csv
# ---Sélectionnez une variable et enregistrez csv---
def getName(obj):
    return  [k for k, v in globals().items() if id(obj) == id(v)][0] #Renvoie le nom de la variable avec str

with open('test2.csv','a', newline="") as f:
    datas = [xx,yy,zz,]
    writer = csv.writer(f)
    for data in datas:
        writer.writerow([getName(data)]+data)
    datas = [a,b,c,d]
    for data in datas:
        writer.writerow([getName(data)]+[data])

La division des cas consiste à convertir une seule variable en type de liste

Sortie test2.csv

xx,3,6,8
yy,5,8,2
zz,8,2,8
a,1
b,2
c,3
d,4

Comment utiliser l'aneth

sauvegarder


import dill
dill.dump_session('session.pkl')

Lis

import dill
dill.load_session('session.pkl')

Toutes les variables peuvent être utilisées telles quelles.

Recommended Posts

[python] Utilisez DataFrame pour étiqueter ensemble des variables et des tableaux arbitraires et les enregistrer dans csv [pandas]
[python] Utilisez DataFrame pour étiqueter ensemble des variables et des tableaux arbitraires et les enregistrer dans csv [pandas] Re-UP
Comment utiliser is et == en Python
Utilisez os.getenv pour obtenir des variables d'environnement en Python
J'ai essayé de résumer comment utiliser les pandas de python
[Introduction à l'application Udemy Python3 +] 36. Utilisation de In et Not
Combinez des listes dans un DataFrame avec des pandas
Afficher les nombres et les caractères affectés aux variables dans l'impression python
Collectez les tweets en utilisant tweepy en Python et enregistrez-les dans MongoDB
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
traitement pour utiliser les données notMNIST en Python (et essayé de les classer)
[Python] Comment ajouter des lignes et des colonnes à une table (pandas DataFrame)
Comment utiliser les fonctions dans des fichiers séparés version Perl et version Python
Comment utiliser les variables d'environnement Serverless Framework et Python et gérer les étapes
[Python] Lorsque vous souhaitez utiliser toutes les variables dans un autre fichier
[Python3] Enregistrez la matrice de moyenne et de covariance dans json avec les pandas
J'étais accro aux variables de classe et aux variables d'instance erronées en Python
[Python] Comment utiliser la série Pandas
Comment utiliser SQLite en Python
[Introduction à Python] Utilisons les pandas
Comment utiliser Mysql avec python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
[Introduction à Python] Utilisons les pandas
[Introduction à Python] Utilisons les pandas
Comment obtenir un nom de colonne et un nom d'index spécifiques avec Pandas DataFrame
Analyse des données: application facile des statistiques descriptives et des statistiques d'estimation aux données CSV en Python
Connectez-vous à postgreSQL depuis Python et utilisez des procédures stockées dans une boucle.
Lisez le fichier CSV avec Python et convertissez-le en DataFrame tel quel
[Python] Qu'est-ce que la série pandas et DataFrame?
[Python] Résumé de l'utilisation des pandas
Comment diviser et enregistrer un DataFrame
[Python] Utilisez des pandas pour extraire △△ qui maximise ○○
[Python] Utiliser et et ou lors de la création de variables
Comment définir dynamiquement des variables en Python
Comment installer et utiliser pandas_datareader [Python]
Un moyen simple d'utiliser Wikipedia avec Python
Comment réattribuer un index dans pandas dataframe
[Python] pandas à bien comprendre en 10 minutes
Pour référencer des variables d'environnement en Python dans Blender
Lire Python csv et exporter vers txt
python: Comment utiliser les locals () et globals ()
Comment utiliser __slots__ dans la classe Python
[Python] Ajouter le nombre total de lignes à Pandas DataFrame
Comment utiliser le zip Python et énumérer
Comment utiliser les expressions régulières en Python
Comment lire des fichiers CSV avec Pandas
Ajouter une série à la colonne dans les pandas python
Comment utiliser les pandas Timestamp et date_range
Conseils pour ceux qui ne savent pas comment utiliser is et == en Python
[Python] Comment nommer les données de table et les sortir avec csv (méthode to_csv)
Utilisez libsixel pour générer Sixel en Python et générer le graphe Matplotlib vers le terminal.
[Formation Python partie 3] Convertissez les pandas DataFrame, Series et Standard List entre eux
Enregistrez le Tweet de Twitter avec Geo au format CSV et tracez-le sur Google Map.
Comment utiliser la bibliothèque C en Python
Grattage de la nourriture avec python et sortie en CSV
Introduction du cadre de style Sinatra et comment l'utiliser
Variables Python et types de données appris avec la chimio-automatique
Comment utiliser la bibliothèque d'images Python dans la série python3
[python] Différence entre variable et self. Variable dans la classe