Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Lajur DataFrame Saya Menunjukkan Jenis Data \'Objek\' Selepas Penukaran Rentetan?

Mengapa Lajur DataFrame Saya Menunjukkan Jenis Data \'Objek\' Selepas Penukaran Rentetan?

Susan Sarandon
Lepaskan: 2024-10-28 15:25:02
asal
950 orang telah melayarinya

Why is My DataFrame Column Showing

Lajur DataFrame Memaparkan Jenis Data "Objek" Walaupun Penukaran Rentetan Eksplisit

Masalah:
Walaupun percubaan untuk menukar lajur yang dinyatakan secara eksplisit dalam DataFrame kepada rentetan, ia kekal sebagai 'objek' dtype. Pemeriksaan nilai lajur individu mengesahkan nilai tersebut sememangnya rentetan.

Int64Index: 56992 entries, 0 to 56991
Data columns (total 7 columns):
id            56992 non-null values
attr1         56992 non-null values
attr2         56992 non-null values
attr3         56992 non-null values
attr4         56992 non-null values
attr5         56992 non-null values
attr6         56992 non-null values
dtypes: int64(2), object(5)

Column 'attr2' remains as dtype 'object' despite conversion:

convert attr2 to string
Salin selepas log masuk

Penjelasan:

Panda menggunakan 'objek' dtype untuk menerangkan lajur yang mengandungi jenis data panjang berubah-ubah , seperti rentetan. Ini berbeza daripada jenis data panjang tetap seperti 'int64' dan 'float64'. Secara dalaman, Pandas menyimpan data rentetan menggunakan penunjuk ke objek rentetan dalam ndarray 'objek'.

int64 array:
[1, 2, 3, 4]

object array:
[pointer to string 'John', pointer to string 'Mary', pointer to string 'Bob', pointer to string 'Alice']
Salin selepas log masuk

'objek dtype' tidak membayangkan bahawa objek di dalamnya bukan rentetan. Setiap objek rentetan masih berada dalam ingatan dan boleh diakses melalui penunjuk dalam ndarray 'objek'.

Untuk memastikan Pandas mengenali lajur sebagai rentetan, pastikan semua elemen dalam lajur tersebut adalah rentetan yang konsisten. Selain itu, kaedah seperti .apply(str) atau .astype('string') boleh digunakan untuk menukar elemen kepada rentetan.

Atas ialah kandungan terperinci Mengapa Lajur DataFrame Saya Menunjukkan Jenis Data 'Objek' Selepas Penukaran Rentetan?. 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