Mengapa Rentetan dalam Pandas DataFrames Muncul sebagai Objek Walaupun Selepas Penukaran?

Patricia Arquette
Lepaskan: 2024-10-25 21:25:29
asal
998 orang telah melayarinya

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

Mengapa String dalam DataFrame Disimpan sebagai Objek?

Walaupun secara eksplisit menukar lajur DataFrame yang mengandungi rentetan kepada jenis data rentetan, perpustakaan Pandas Python masih boleh melaporkannya sebagai objek. Percanggahan ini timbul disebabkan oleh struktur data asas NumPy.

NumPy menggunakan ndarray untuk menyimpan tatasusunan data, dengan setiap elemen dalam ndarray mempunyai bilangan bait yang tetap. Untuk integer (int64) dan nombor terapung (float64), setiap elemen menduduki 8 bait. Walau bagaimanapun, rentetan mempunyai panjang berubah-ubah, menjadikannya tidak praktikal untuk menyimpannya secara terus dalam ndarray.

Untuk menampung ini, Pandas menggunakan ndarray objek untuk menyimpan penunjuk kepada objek. Objek ini mengandungi nilai rentetan sebenar. Akibatnya, objek ndarray mempunyai saiz tidak tentu dan diwakili sebagai jenis data "objek".

Contoh:

Pertimbangkan tatasusunan int64 yang mengandungi empat 64-bit integer dan tatasusunan objek yang mengandungi empat penuding kepada tiga objek rentetan:

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      |
+---------+-----------+
Salin selepas log masuk

Dalam perwakilan ini, tatasusunan int64 menduduki jumlah ruang yang tetap, dengan setiap elemen ialah 8 bait. Sebaliknya, tatasusunan objek menyimpan penunjuk kepada objek dengan saiz yang berbeza-beza, oleh itu jenis data "objek".

Atas ialah kandungan terperinci Mengapa Rentetan dalam Pandas DataFrames Muncul sebagai Objek Walaupun Selepas Penukaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!