[PYTHON] Wichtige Ergänzungen zu den Pandas 1.1.0 und 1.0.0

Über diesen Artikel

pandas wurde am 28. Juli 2020 von Version 1.0 auf 1.1.0 aktualisiert. Dieser Artikel fasst die wichtigsten Ergänzungen von 1.1.0 und die wichtigsten Ergänzungen des N-ten Gebräus zusammen, jedoch die Aktualisierung von 0.25.3 auf 1.0.0 im Januar 2020.

Offizielle Informationen

https://pandas.pydata.org/pandas-docs/dev/whatsnew/v1.0.0.html

https://pandas.pydata.org/pandas-docs/dev/whatsnew/v1.1.0.html

Bitte beziehen Sie sich auf.

Überprüfungsumgebung

Version 1.0 wird mit 1.0.5 und 1.1 mit 1.0.0 verifiziert. 0,25 wird mit 0,25,1 verifiziert.

1.0

pd.NA Bis zu 0,25 gibt es verschiedene Werte wie "np.nan" für float, "np.nan" oder "None" für Objekt (Zeichenfolge) und "pd.NaT" für Zeitdaten. Es wurde benutzt.

In 1.0 wurde "pd.NA" eingeführt, um fehlende Werte darzustellen.

Zum Beispiel

pd.Series([1, 2, None], dtype="Int64")

Das dritte Element von ist "np.nan" in Version 0.25, wird jedoch in 1.0 zu "pd.NA".

Bis 0.25 wurde die numerische Spalte mit fehlendem (np.nan) gezwungen, float64 zu verwenden, aber in 1.0 ist es möglich, sie als Spalte vom Typ Int8 mit pd.NA zu bezeichnen.

Zeichenfolgentyp (StringD-Typ)

Ein Typ-String-Typ (StringD-Typ), der die Serie (DataFrame-Spalte) von String-Daten darstellt, wurde hinzugefügt. Wenn Sie mit einer Reihe (oder Spalte) einer Zeichenfolge arbeiten, wird empfohlen, den Zeichenfolgentyp zu verwenden.

Bis zu 0,25 war es der Objekttyp, der die Serie (oder Spalte) darstellte, die Zeichenfolgendaten enthielt

pd.Series(['abc', True, 'def'], dtype="object")

Ich konnte nur ausdrücken, dass (Mischung aus Buchstaben und Booleschen) erlaubt war,

Ab 1.0

pd.Series(['abc', 'def'], dtype="string")

In diesem Fall ist die Reihe (oder Spalte) nur für Zeichenfolgen zulässig.

pd.Series(['abc', True, 'def'], dtype="string")

Ist ein Fehler.

pd.Series(['abc', 'def', None], dtype="string")

Das dritte Element von ist "pd.NA".

jedoch

pd.Series(['abc', True, 'def'])

(Kein dtype angegeben) ist der Objekttyp wie zuvor, und dieser Ausdruck ist ebenfalls zulässig.

Typ boolean (booleanDtype)

Es wurde ein boolescher Typ (booleanDtype) hinzugefügt, der boolesche Daten darstellt. Es wird empfohlen, den booleschen Typ zu verwenden, wenn boolesche (True oder False) Serien (oder Spalten) verwendet werden.

pd.Series([True, False, 0], dtype="booleal")

Ist ein Fehler. (Wenn kein dtype angegeben ist, ist dies ohne Fehler akzeptabel. Wenn `dtype =" bool ", wird 0 in False konvertiert.)

In Bezug auf den Umgang mit fehlendem Wert

pd.Series([True, False, np.nan])
pd.Series([True, False, None])

Das dritte Element von ist np.nan bzw. None.

pd.Series([True, False, np.nan], dtype="boolean")
pd.Series([True, False, None], dtype="boolean")

Dann ist das dritte Element pd.NA.

pd.Series([True, False, np.nan], dtype="bool")
pd.Series([True, False, None], dtype="bool")

Im Fall von ist das dritte Element Wahr bzw. Falsch.

Funktion convert_dtypes

df = pd.DataFrame({'x': ['abc', None, 'def'],
                   'y': [1, 2, np.nan],
                   'z': [True, False, True]})

Ist Spalte x: Objekt, Spalte y: float64, Spalte z: bool. Obwohl der String-Typ und der Boolesche Typ erstellt wurden ...

Deshalb,

df.convert_dtypes()

Dann werden x-Spalte: Zeichenfolge, y-Spalte: Int64, z-Spalte: Boolescher Wert konvertiert. None und np.nan sind jetzt pd.NA.

Die obigen NA- und Typfunktionen sind experimentelle Funktionen und können sich ändern.

ignore_index Argument

Das Argument ignore_index wurde zu "DataFrame.sort_values ()" und "DataFrame.drop_duplicates ()" hinzugefügt. Mit ignore_index = True werden Indizes wie nach dem Sortieren in der Reihenfolge von 0 neu zugewiesen. Gute Nachrichten für Pandas Index Ärger.

1.1

dtype="string", astype("string")

pd.Series([1, "abc", np.nan], dtype="string")
pd.Series([1, 2, np.nan], dtype="Int64").astype("string")

Alle Elemente sind in Zeichenfolgen. Bis 1.0 tritt ein Fehler auf, wenn nicht alle Elemente Strings oder Nan sind.

groupby

df = pd.DataFrame([[1, 2, 3], [1, None, 4], [2, 1, 3], [1, 2, 2]], columns=["a", "b", "c"])

df.groupby(by=["b"], dropna=False).sum()

Das Ergebnis von

     a  c
b        
1.0  2  3
2.0  2  5
NaN  1  4

Und selbst wenn der durch von angegebene Spaltenwert zur NA-Zeile hinzugefügt wird, wird er aggregiert. Verhalten ähnlich dem von R's dplyr group_by.

Wenn dropna = True oder nicht angegeben ist, werden die Zeilen, deren durch angegebener Spaltenwert NA ist, nicht aggregiert.

Recommended Posts

Wichtige Ergänzungen zu den Pandas 1.1.0 und 1.0.0
Verwendung von pandas Timestamp und date_range
Fügen Sie mit Pandas Summen zu Zeilen und Spalten hinzu
Verwendung von Pandas 2
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Installation von Jupyter und Pandas
Pandas Index und Reindex
Pandas resample und rollen
Pandas Mittelwertbildung und Auflistung
So extrahieren Sie Nullwerte und Nicht-Nullwerte mit Pandas
Beenden Sie die SSH-Kennwortauthentifizierung und wechseln Sie vollständig zur Schlüsselauthentifizierung
[Python] Liste in Pandas konvertieren [Pandas]
Um zwischen Standard-Python, Numpy, Pandas hin und her zu gehen ①
Wie man Pandas Rolling benutzt
Reagieren und Kolben zu GCP
So erstellen Sie einen Datenrahmen und spielen mit Elementen mit Pandas
Exportieren Sie den Pandas-Datenrahmen nach Excel
[Python] So fügen Sie einer Tabelle Zeilen und Spalten hinzu (pandas DataFrame)
So installieren Sie Pandas auf EC2 (Umgang mit MemoryError und PermissionError)
Ich möchte sowohl den Schlüssel als auch den Wert des Python-Iterators verwenden
So formatieren Sie eine Tabelle mit Pandas Apply, Pivot und Swaplevel
Python 3.6 unter Windows ... und zu Xamarin.
[Einführung in Python3 Tag 1] Programmierung und Python
So installieren und verwenden Sie Tesseract-OCR
Wie man nüchtern mit Pandas schreibt
[Python] Verwendung der Pandas-Serie
Scraping, Vorverarbeitung und Schreiben in postgreSQL
Etosetra im Zusammenhang mit Pandas read_csv
Vorsichtsmaßnahmen bei der Verwendung von Codecs und Pandas
[Einführung in Python] Verwenden wir Pandas
So installieren und konfigurieren Sie Amsel
Verwendung von .bash_profile und .bashrc
[Pandas] Finde den Quadranten und erkenne den Ausreißer
So installieren und verwenden Sie Graphviz
Wichtige Operationen, die Sie wissen möchten
Ich möchte ○○ mit Pandas machen
Python-Protokollierung und Dump an JSON
[Einführung in Python] Verwenden wir Pandas
Selen und Python zum Öffnen von Google
# Zeile ignorieren und mit Pandas lesen
[Einführung in Python] Verwenden wir Pandas
Lösen von Folienrätseln und 15 Rätseln
So erhalten Sie mit pandas DataFrame einen bestimmten Spaltennamen und Indexnamen
Verbinden Sie Daten mit dem Hauptschlüssel (erforderlich) und dem Unterschlüssel (optional) in Python-Pandas