[Python] Verwenden Sie DataFrame, um beliebige Variablen und Arrays zusammen zu kennzeichnen und in csv [pandas] zu speichern.

Ich wollte alle Variablen einfach zusammen speichern, also habe ich ein solches Programm erstellt. Es kann durch Anwenden eines zweidimensionalen Arrays gespeichert werden.

... Ich habe es nach dem Schreiben bemerkt, aber die Methode des Hinzufügens kann besser sein [Wenn Sie beschäftigt sind, springen Sie zum Postscript](# Postscript) [Wenn Sie einfach alle Variablen speichern möchten, verwenden Sie die Dill-Methode](# Dill-Methode)

Bei der Append-Methode ist ein Fehler in der Typbeziehung oder den Daten aufgetreten, die Sie verwenden wollten. Ich habe bei der Verwendung von DataFrame keinen Fehler erhalten Es ist möglicherweise nicht bedeutungslos, einen DataFrame einmal einzufügen.

import pandas as pd

Zuerst Pandas importieren


# ---Definieren Sie Variablen zum Testen---
a ,b,c,d = 1,2,3,4
xx = [3,6,8]
yy = [5,8,2]
zz = [8,2,8]

Speichern Sie diese Funktion, Array

# ---Sammeln Sie Variablen in Dataframe und speichern Sie CSV---
def getName(obj):
    return  [k for k, v in globals().items() if id(obj) == id(v)][0] #Geben Sie den Variablennamen mit str zurück

Rufen Sie mit dieser Funktion den Variablennamen als str ab Es ist fast ein Kopieren und Einfügen von diesem Artikel Hier klicken für Details

df = pd.DataFrame()

datas1 = [xx,yy,zz] #Fügen Sie unter Verwendung des Variablennamens als Header ein eindimensionales Array zu einem Datenrahmen zusammen
for data in datas1:
    df = pd.concat([df, pd.DataFrame({getName(data):data})],axis=1) # {}Fügen Sie mit set einen Datenrahmen mit concat hinzu

Erstellen Sie einen DataFrame basierend auf {name: value} und speichern Sie immer mehr mit concat in df. Durch Einfügen von Achse = 1 wird diese horizontal hinzugefügt

datas2 = [a,b,c,d]#Gruppieren Sie die Variablen unter Verwendung des Variablennamens als Header in einem Datenrahmen
for data in datas2:
    df =  pd.concat([df, pd.DataFrame({getName(data):[data]})],axis=1)# {}Fügen Sie mit set einen Datenrahmen mit concat hinzu

Mach das Gleiche wie zuvor Da der "Wert" von "{Name: Wert}" ein Array sein muss, ist der "Wert" "[Daten]".

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

Speichern und anzeigen. Da df an verschiedenen Orten verwendet wird, werde ich es vorerst löschen.

In der folgenden Tabelle können Sie sehen, dass es ordnungsgemäß angezeigt und gespeichert wird.

   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

Quellcode

import pandas as pd

# ---Definieren Sie Variablen zum Testen---
a ,b,c,d = 1,2,3,4
xx = [3,6,8]
yy = [5,8,2]
zz = [8,2,8]

# ---Sammeln Sie Variablen in Dataframe und speichern Sie CSV---
def getName(obj):
    return  [k for k, v in globals().items() if id(obj) == id(v)][0] #Geben Sie den Variablennamen mit str zurück

df = pd.DataFrame()

datas1 = [xx,yy,zz] #Fügen Sie unter Verwendung des Variablennamens als Header ein eindimensionales Array zu einem Datenrahmen zusammen
for data in datas1:
    df = pd.concat([df, pd.DataFrame({getName(data):data})],axis=1) # {}Fügen Sie mit set einen Datenrahmen mit concat hinzu
    
datas2 = [a,b,c,d]#Gruppieren Sie die Variablen unter Verwendung des Variablennamens als Header in einem Datenrahmen
for data in datas2:
    df =  pd.concat([df, pd.DataFrame({getName(data):[data]})],axis=1)# {}Fügen Sie mit set einen Datenrahmen mit concat hinzu
df.to_csv('test.csv')
print(df)
del df

Nachtrag

Schreiben Sie direkt an csv

# ---Definieren Sie Variablen zum Testen---
a ,b,c,d = 1,2,3,4
xx = [3,6,8]
yy = [5,8,2]
zz = [8,2,8]
import csv
# ---Wählen Sie eine Variable aus und speichern Sie csv---
def getName(obj):
    return  [k for k, v in globals().items() if id(obj) == id(v)][0] #Geben Sie den Variablennamen mit str zurück

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])

Bei der Fallklassifizierung wird eine einzelne Variable in einen Listentyp konvertiert

Ausgabe test2.csv

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

Wie man Dill benutzt

sparen


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

Lesen

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

Alle Variablen können unverändert verwendet werden.

Recommended Posts

[Python] Verwenden Sie DataFrame, um beliebige Variablen und Arrays zusammen zu kennzeichnen und in csv [pandas] zu speichern.
[Python] Verwenden Sie DataFrame, um beliebige Variablen und Arrays zusammen zu kennzeichnen und in csv [pandas] Re-UP zu speichern
Verwendung ist und == in Python
Verwenden Sie os.getenv, um Umgebungsvariablen in Python abzurufen
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
[Einführung in die Udemy Python3 + -Anwendung] 36. Verwendung von In und Not
Kombinieren Sie Listen zu einem DataFrame mit Pandas
Zeigen Sie Zahlen und Zeichen an, die Variablen im Python-Druck zugewiesen sind
Sammeln Sie Tweets mit tweepy in Python und speichern Sie sie in MongoDB
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
Verarbeitung zur Verwendung von notMNIST-Daten in Python (und versucht, sie zu klassifizieren)
[Python] So fügen Sie einer Tabelle Zeilen und Spalten hinzu (pandas DataFrame)
Verwendung von Funktionen in separaten Dateien Perl-Version und Python-Version
Verwendung von Umgebungsvariablen für Serverless Framework und Python und Verwaltung von Phasen
[Python] Wenn Sie alle Variablen in einer anderen Datei verwenden möchten
[Python3] Speichern Sie die Mittelwert- und Kovarianzmatrix in json mit Pandas
Ich war süchtig nach falschen Klassenvariablen und Instanzvariablen in Python
[Python] Verwendung der Pandas-Serie
Verwendung von SQLite in Python
[Einführung in Python] Verwenden wir Pandas
Wie man MySQL mit Python benutzt
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
[Einführung in Python] Verwenden wir Pandas
[Einführung in Python] Verwenden wir Pandas
So erhalten Sie mit pandas DataFrame einen bestimmten Spaltennamen und Indexnamen
Datenanalyse: Einfache Anwendung deskriptiver Statistiken und Schätzungsstatistiken auf CSV-Daten in Python
Stellen Sie von Python aus eine Verbindung zu postgreSQL her und verwenden Sie gespeicherte Prozeduren in einer Schleife.
Lesen Sie die CSV-Datei mit Python und konvertieren Sie sie unverändert in DataFrame
[Python] Was ist Pandas Series und DataFrame?
[Python] Zusammenfassung der Verwendung von Pandas
So teilen und speichern Sie einen DataFrame
[Python] Extrahiere △△ mit maximalem ○○ mit Pandas
[Python] Verwenden Sie und und oder beim Erstellen von Variablen
Dynamisches Definieren von Variablen in Python
So installieren und verwenden Sie pandas_datareader [Python]
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
So weisen Sie den Index im Pandas-Datenrahmen neu zu
[Python] Pandas in 10 Minuten vollständig zu verstehen
Verweisen auf Umgebungsvariablen in Python in Blender
Lesen Sie Python csv und exportieren Sie es nach txt
Python: Verwendung von Einheimischen () und Globalen ()
Verwendung von __slots__ in der Python-Klasse
[Python] Fügen Sie Pandas DataFrame insgesamt Zeilen hinzu
Verwendung von Python zip und Aufzählung
Verwendung regulärer Ausdrücke in Python
Lesen von CSV-Dateien mit Pandas
Hinzufügen von Serien zur Spalte in Python-Pandas
Verwendung von pandas Timestamp und date_range
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
[Python] So benennen Sie Tabellendaten und geben sie mit csv aus (to_csv-Methode)
Verwenden Sie libsixel, um Sixel in Python auszugeben und das Matplotlib-Diagramm an das Terminal auszugeben.
[Python-Lernteil 3] Konvertieren Sie Pandas DataFrame, Series und Standard List ineinander
Speichern Sie den Tweet von Twitter mit Geo als CSV und zeichnen Sie ihn auf Google Map.
Verwendung der C-Bibliothek in Python
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
Einführung des Sinatra-Frameworks und dessen Verwendung
Python-Variablen und Datentypen, die mit Chemoinfomatik gelernt wurden
Verwendung der Python-Bildbibliothek in der Python3-Serie
Unterschied zwischen Variablen und Selbst. Variablen in der [Python] -Klasse