Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Lajur DataFrame Pandas Saya Dengan Hanya Rentetan Mempunyai Dtype Objek?
Dalam Pandas, objek dtype menandakan lajur yang mengandungi objek. Walau bagaimanapun, ini boleh mengelirukan apabila semua elemen dalam lajur kelihatan seperti rentetan.
Jenis objek berpunca daripada pelaksanaan ndarray NumPy. Dalam NumPy, tatasusunan mesti mempunyai elemen saiz seragam dalam bait. Memandangkan rentetan mempunyai panjang berubah-ubah, Pandas menyimpan rentetan sebagai penunjuk kepada objek dalam objek ndarray. Ini menghasilkan dtype objek.
Pertimbangkan contoh berikut:
import numpy as np import pandas as pd # Create an int64 ndarray int_arr = np.array([1, 2, 3, 4], dtype=np.int64) # Create an object ndarray containing pointers to string objects obj_arr = np.array(['a', 'b', 'c', 'd'], dtype=object) # Convert obj_arr to a Pandas DataFrame df = pd.DataFrame({'int_col': int_arr, 'obj_col': obj_arr}) # Check data types print(df.dtypes)
Output:
int_col int64 obj_col object
Seperti yang anda lihat , walaupun semua elemen adalah rentetan, obj_col mempunyai objek dtype kerana penggunaan penunjuk dalam ndarray.
Objek dtype dalam Pandas DataFrames timbul daripada pelaksanaan ndarray yang mendasari. Walaupun ia merangkumi rentetan, adalah penting untuk ambil perhatian bahawa rentetan tidak diwakili secara eksplisit sebagai jenis data yang berbeza. Sebaliknya, ia disimpan sebagai penunjuk kepada objek dalam ndarray objek.
Atas ialah kandungan terperinci Mengapa Lajur DataFrame Pandas Saya Dengan Hanya Rentetan Mempunyai Dtype Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!