Heim  >  Artikel  >  Backend-Entwicklung  >  Warum werden Zeichenfolgen in Pandas-DataFrames auch nach der Konvertierung als Objekte angezeigt?

Warum werden Zeichenfolgen in Pandas-DataFrames auch nach der Konvertierung als Objekte angezeigt?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 21:25:29997Durchsuche

 Why do Strings in Pandas DataFrames Appear as Objects Even After Conversion?

Warum werden Strings in einem DataFrame als Objekte gespeichert?

Obwohl DataFrame-Spalten, die Strings enthalten, explizit in den String-Datentyp konvertiert wurden, ist dies die Pandas-Bibliothek von Python kann sie dennoch als Objekte melden. Diese Diskrepanz entsteht durch die zugrunde liegenden Datenstrukturen von NumPy.

NumPy verwendet ndarrays, um Datenarrays zu speichern, wobei jedes Element in einem ndarray eine feste Anzahl von Bytes hat. Bei Ganzzahlen (int64) und Gleitkommazahlen (float64) belegt jedes Element 8 Bytes. Allerdings haben Zeichenfolgen variable Längen, sodass es unpraktisch ist, sie direkt in einem Ndarray zu speichern.

Um dies zu berücksichtigen, verwendet Pandas Objekt-Ndarrays, um Zeiger auf Objekte zu speichern. Diese Objekte enthalten die tatsächlichen Stringwerte. Infolgedessen haben Objekt-Ndarrays eine unbestimmte Größe und werden als Datentyp „Objekt“ dargestellt.

Beispiel:

Stellen Sie sich ein int64-Array vor, das vier 64-Bit-Arrays enthält Ganzzahlen und ein Objektarray, das vier Zeiger auf drei Zeichenfolgenobjekte enthält:

int64 array: | 1 | 2 | 3 | 4 |
object array: | pointer to "hello" | pointer to "world" | pointer to "!" |

Visualization:

+---------+-----------+
| int64    |  object   |
|---------+-----------|
| 1        | hello     |
| 2        | world     |
| 3        | !         |
| 4        | null      |
+---------+-----------+

In dieser Darstellung belegt das int64-Array eine feste Menge an Platz, wobei jedes Element 8 Bytes groß ist. Andererseits speichert das Objektarray Zeiger auf Objekte unterschiedlicher Größe, daher der Datentyp „Objekt“.

Das obige ist der detaillierte Inhalt vonWarum werden Zeichenfolgen in Pandas-DataFrames auch nach der Konvertierung als Objekte angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn