


Einführung in einfache Betriebsmethoden von pandas.DataFrame (Erstellen, Indizieren, Hinzufügen und Löschen) in Python
In diesem Artikel werden die einfachen Betriebsmethoden von pandas.DataFrame (Erstellung, Indizierung, Hinzufügung und Löschung) in Python vorgestellt, einschließlich zugehöriger Informationen zur Erstellung, Indizierung, Hinzufügung und Löschung. Der Artikel stellt es ausführlich vor Als Referenz werfen wir einen Blick nach unten.
Vorwort
In letzter Zeit habe ich im Internet viele Bedienungsanleitungen nach pandas.DataFrame
durchsucht, bei denen es sich zwar alles um Grundoperationen handelt, aber Die Kombination dieser Vorgänge scheint immer noch einige Zeit in Anspruch zu nehmen, um den DataFrame korrekt zu betreiben, und ich habe lange gebraucht, um den Fehler zu beheben. Ich werde hier einige Zusammenfassungen für Sie, mich und andere erstellen. Freunde, die Interesse haben, sollten vorbeikommen und einen Blick darauf werfen.
1. Einfache Operation zum Erstellen von DataFrame:
1. Erstellen Sie basierend auf dem Wörterbuch:
In [1]: import pandas as pd In [3]: aa={'one':[1,2,3],'two':[2,3,4],'three':[3,4,5]} In [4]: bb=pd.DataFrame(aa) In [5]: bb Out[5]: one three two 0 1 3 2 1 2 4 3 2 3 5 4`
Die Schlüssel im Wörterbuch sind die Spalten im DataFrame, aber es gibt keinen Indexwert, daher müssen Sie ihn selbst festlegen. Wenn er nicht festgelegt ist, beginnt die Zählung standardmäßig bei Null.
bb=pd.DataFrame(aa,index=['first','second','third']) bb Out[7]: one three two first 1 3 2 second 2 4 3 third 3 5 4
2. Aus einem mehrdimensionalen Array erstellen
import numpy as np In [9]: del aa In [10]: aa=np.array([[1,2,3],[4,5,6],[7,8,9]]) In [11]: aa Out[11]: array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) In [12]: bb=pd.DataFrame(aa) In [13]: bb Out[13]: 0 1 2 0 1 2 3 1 4 5 6 2 7 8 9
Um aus einem mehrdimensionalen Array zu erstellen, müssen Sie ihm Spalten und Indizes zuweisen der DataFrame, sonst ist es die Standardeinstellung. Sehr hässlich.
bb=pd.DataFrame(aa,index=[22,33,44],columns=['one','two','three']) In [15]: bb Out[15]: one two three 22 1 2 3 33 4 5 6 44 7 8 9
3. Verwenden Sie einen anderen DataFrame, um
bb=pd.DataFrame(aa,index=[22,33,44],columns=['one','two','three']) bb Out[15]: one two three 22 1 2 3 33 4 5 6 44 7 8 9 cc=bb[['one','three']].copy() Cc Out[17]: one three 22 1 3 33 4 6 44 7 9
Die Kopie hier ist eine tiefe Kopie, die den Wert in bb nicht ändern kann . .
cc['three'][22]=5 bb Out[19]: one two three 22 1 2 3 33 4 5 6 44 7 8 9 cc Out[20]: one three 22 1 5 33 4 6 44 7 9
2. Indexoperation von DataFrame:
Für einen DataFrame ist die Indizierung am problematischsten und fehleranfälligsten.
1. Das Indizieren einer oder mehrerer Spalten ist relativ einfach:
bb['one'] Out[21]: 22 1 33 4 44 7 Name: one, dtype: int32
Für mehrere Spaltennamen müssen die Eingabespaltennamen in einer Liste gespeichert werden kollierbaren Variablen, andernfalls wird ein Fehler gemeldet.
bb[['one','three']] Out[29]: one three 22 1 3 33 4 6 44 7 9
2. Indexieren Sie einen Datensatz oder mehrere Datensätze:
bb[1:3] Out[27]: one two three 33 4 5 6 44 7 8 9 bb[:1] Out[28]: one two three 22 1 2 3
Beachten Sie hier, dass der Doppelpunkt erforderlich ist, andernfalls ist er erforderlich Indexspalte.
3. Indizieren Sie bestimmte Datensätze von Variablen in bestimmten Spalten. Das hat mich lange gequält:
Der erste Typ
bb.loc[[22,33]][['one','three']] Out[30]: one three 22 1 3 33 4 6
Sie können den Wert hier nicht ändern. Sie können den Wert nur lesen, aber nicht schreiben. Dies hängt möglicherweise mit der Funktion loc()
bb.loc[[22,33]][['one','three']]=[[2,2],[3,6]] In [32]: bb Out[32]: one two three 22 1 2 3 33 4 5 6 44 7 8 9zusammen. Der zweite Typ: kann nur sichtbar
bb[['one','three']][:2] Out[33]: one three 22 1 3 33 4 6Wenn Sie den Wert ändern möchten, wird ein Fehler gemeldet.
In [34]: bb[['one','three']][:2]=[[2,2],[2,2]] -c:1: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_index,col_indexer] = value instead F:\Anaconda\lib\site-packages\pandas\core\frame.py:1999: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame return self._setitem_slice(indexer, value)Der dritte Typ: Sie können den Wert von Daten ändern! ! ! Iloc wird entsprechend der Anzahl der Zeilen und Spalten der Daten indiziert, Index und Spalten nicht mitgezählt
bb.iloc[2:3,2:3] Out[36]: three 44 9 bb.iloc[1:3,1:3] Out[37]: two three 33 5 6 44 8 9 bb.iloc[0,0] Out[38]: 1Das Folgende ist der Beweis:
bb.iloc[0:4,0:2]=[[9,9],[9,9],[9,9]] In [45]: bb Out[45]: one two three 22 9 9 3 33 9 9 6 44 9 9 9
Drei . Erstellen Sie eine neue Spalte oder mehrere Spalten auf dem ursprünglichen DataFrame
1. Es können nur eine Spalte allein erstellt werden Nicht einfach zu verwenden. Persönlicher Test. Ungültig: Die von
bb['new']=[2,3,4] bb Out[51]: one two three new 22 9 9 3 2 33 9 9 6 3 44 9 9 9 4 bb[['new','new2']]=[[2,3,4],[5,3,7]] KeyError: "['new' 'new2'] not in index"zugewiesene Liste wird grundsätzlich in der Reihenfolge des angegebenen Indexwerts zugewiesen, aber im Allgemeinen müssen wir den entsprechenden Index zuweisen, wenn Sie möchten Weitere fortgeschrittene Aufgaben finden Sie im Folgenden.
2. Verwenden Sie ein Wörterbuch, um mehreren Spalten Werte nach Index zuzuweisen:
aa={33:[234,44,55],44:[657,77,77],22:[33,55,457]} In [58]: bb=bb.join(pd.DataFrame(aa.values(),columns=['hi','hello','ok'],index=aa.keys())) In [59]: bb Out[59]: one two three new hi hello ok 22 9 9 3 2 33 55 457 33 9 9 6 3 234 44 55 44 9 9 9 4 657 77 77Hier ist aa ein verschachteltes Wörterbuch und eine Liste, die einem Datensatz entspricht , mit Schlüsseln Verwenden Sie es als Indexnamen anstelle des Standardspaltennamens. Der Zweck, mehrere Spalten nach Index abzugleichen, wird erreicht. Da die Speicherung von
chaotisch ist, führt die Verwendung von dict()
ohne Zuweisung eines Werts zu seinem Index zu Verwirrung in den Datensätzen. Dies ist erwähnenswert. dict()
4. Mehrere Spalten oder Datensätze löschen:
Spalten löschen
bb.drop(['new','hi'],axis=1) Out[60]: one two three hello ok 22 9 9 3 55 457 33 9 9 6 44 55 44 9 9 9 77 77
Datensätze löschen
bb.drop([22,33],axis=0) Out[61]: one two three new hi hello ok 44 9 9 9 4 657 77 77Teilen Sie mit Ihnen einen Artikel über das Summieren von Zeilen und Spalten und das Hinzufügen neuer Zeilen und Spalten in pandas.DataFrame in Python. DataFrame hat viele Funktionen, die noch nicht behandelt wurden. Nachdem ich die API auf der offiziellen Website gelesen habe, werde ich sie weiterhin teilen. Verwandte Artikel:
Über pandas.DataFrame in Python zum Summieren von Zeilen und Spalten und zum Hinzufügen neuer Zeilen und Spalten, Beispielcode
Ausführlich Erläuterung des Beispielcodes der pandas.DataFrame-Methode zum Ausschließen bestimmter Zeilen in Python
Das obige ist der detaillierte Inhalt vonEinführung in einfache Betriebsmethoden von pandas.DataFrame (Erstellen, Indizieren, Hinzufügen und Löschen) in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Shutil.rmtree () ist eine Funktion in Python, die den gesamten Verzeichnisbaum rekursiv löscht. Es kann bestimmte Ordner und alle Inhalte löschen. 1. Basisnutzung: Verwenden Sie Shutil.rmtree (Pfad), um das Verzeichnis zu löschen, und Sie müssen FilenotFoundError, Erlaubnissekror und andere Ausnahmen verarbeiten. 2. Praktische Anwendung: Sie können Ordner, die Unterverzeichnisse und Dateien enthalten, in einem Klick löschen, z. B. temporäre Daten oder zwischengespeicherte Verzeichnisse. 3. ANMERKUNGEN: Der Löschvorgang wird nicht wiederhergestellt; FilenotFoundError wird geworfen, wenn der Weg nicht existiert. Es kann aufgrund von Berechtigungen oder Einstellungen fehlschlagen. 4. Optionale Parameter: Fehler können von ignore_errors = true ignoriert werden

Um eine virtuelle Python -Umgebung zu erstellen, können Sie das Venv -Modul verwenden. Die Schritte sind: 1. Geben Sie das Projektverzeichnis ein, um die Python-Mvenvenv-Umgebung auszuführen, um die Umgebung zu schaffen. 2. verwenden Sie SourceEnv/bin/aktivieren Sie in Mac/Linux und Env \ Skripts \ aktivieren in Windows; 3.. Verwenden Sie das Pipinstall -Installationspaket, Pipfreeze> Anforderungen.txt, um Abhängigkeiten zu exportieren. V. Virtuelle Umgebungen können Projektabhängigkeiten isolieren, um Konflikte zu verhindern, insbesondere für die Entwicklung von Mehrfachprojekten, und Redakteure wie Pycharm oder VSCODE sind es ebenfalls

Installieren Sie den entsprechenden Datenbanktreiber; 2. verwenden Sie Connect (), um eine Verbindung zur Datenbank herzustellen. 3. Erstellen Sie ein Cursorobjekt; V. 5. Verwenden Sie Fetchall () usw., um Ergebnisse zu erhalten. 6. Commit () ist nach der Änderung erforderlich; 7. Schließlich schließen Sie die Verbindung oder verwenden Sie einen Kontextmanager, um sie automatisch zu behandeln. Der vollständige Prozess stellt sicher, dass die SQL -Operationen sicher und effizient sind.

Verwenden Sie Multiprocessing.queue, um Daten zwischen mehreren Prozessen zu übergeben, die für Szenarien mehrerer Hersteller und Verbraucher geeignet sind. 2. Verwenden Sie Multiprocessing.Pipe, um eine bidirektionale Hochgeschwindigkeitskommunikation zwischen zwei Prozessen zu erreichen, jedoch nur für Zweipunktverbindungen; 3. Verwenden Sie Wert und Array, um einfache Datentypen im gemeinsamen Speicher zu speichern, und müssen mit Sperre verwendet werden, um Wettbewerbsbedingungen zu vermeiden. 4. Verwenden Sie den Manager, um komplexe Datenstrukturen wie Listen und Wörterbücher auszutauschen, die hoch flexibel sind, aber eine geringe Leistung haben und für Szenarien mit komplexen gemeinsamen Zuständen geeignet sind. Geeignete Methoden sollten basierend auf Datengröße, Leistungsanforderungen und Komplexität ausgewählt werden. Warteschlange und Manager eignen sich am besten für Anfänger.

Verwenden Sie Boto3, um Dateien auf S3 hochzuladen, um Boto3 zuerst zu installieren und AWS -Anmeldeinformationen zu konfigurieren. 2. Erstellen Sie einen Client über boto3.client ('s3') und rufen Sie die Methode upload_file () auf, um lokale Dateien hochzuladen. 3.. Sie können S3_Key als Zielpfad angeben und den lokalen Dateinamen verwenden, wenn er nicht angegeben ist. V. 5. ACL, ContentType, StorageClass und Metadaten können durch den Parameter exteralArgs eingestellt werden. 6. Für Speicherdaten können Sie Bytesio verwenden, um Wörter zu erstellen

Pythonlistscani Implementierungsaufnahme append () penouspop () popopoperations.1.UseAppend () zwei -glückselige StotetopeThestack.2.USEP OP () TOREMOVEANDRETURTHETOPHETOP -Element, EnsuringToCheCifthestackisnotemptoavoidEx -Regerror.

WAPHREFERENCESEXISTTOALALEFERCECTOBICTOUTPREENTINGHEIRGARBAGECOLLEKTION, ASFAHREDAVOIDMEMOREAKSANDCIRCULARREFERENCEN.1. UseWeakkeyDictionorWeakValedictionaryForCacheOrmapingStoletUnusedObjectsBecollected.2. Useweakreferences-Ansinchild-to

Verwenden Sie die PythonSchedule -Bibliothek, um Timing -Aufgaben einfach zu implementieren. Installieren Sie die Bibliothek zunächst über PipinstallSchedule und importieren Sie dann die Zeitplan- und Zeitmodule, definieren Sie die Funktionen, die regelmäßig ausgeführt werden müssen, und verwenden Sie dann den Zeitplan. Jede (), um das Zeitintervall festzulegen und die Aufgabenfunktion zu binden. Rufen Sie schließlich den Zeitplan an.run_pending () und die Zeit. Wenn Sie beispielsweise alle 10 Sekunden eine Aufgabe ausführen, können Sie sie als Zeitplan schreiben. Jeder (10) .Seconds.do (Job), der die Zeitplanung durch Minuten, Stunden, Tage, Wochen usw. unterstützt, und Sie können auch bestimmte Aufgaben angeben.
