Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengubah Jenis Data Berbilang Lajur dengan Cekap dalam Panda?

Bagaimanakah Saya Boleh Mengubah Jenis Data Berbilang Lajur dengan Cekap dalam Panda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-20 21:21:14974semak imbas

How Can I Efficiently Change Multiple Column Data Types in Pandas?

Menukar Jenis Lajur dalam Panda untuk Berbilang Lajur

Untuk menukar berbilang lajur dalam DataFrame kepada jenis tertentu, pertimbangkan untuk menggunakan kaedah berikut:

Menggunakan Pandas' to_numeric()

Kaedah ini boleh menukar jenis bukan angka dengan selamat, seperti rentetan, menjadi integer atau nombor titik terapung yang sesuai. Contohnya:

import pandas as pd

table = [
    ['a', '1.2', '4.2'],
    ['b', '70', '0.03'],
    ['x', '5', '0'],
]

df = pd.DataFrame(table)

# Convert columns 2 and 3 to floats
df[['Column2', 'Column3']] = df[['Column2', 'Column3']].apply(pd.to_numeric)

Menggunakan Pandas' astype()

Kaedah ini membenarkan penukaran eksplisit kepada dtype tertentu. Contohnya:

df[['Column2', 'Column3']] = df[['Column2', 'Column3']].astype(float)

Ikhtisar Kaedah Penukaran

Pilihan kaedah bergantung pada keperluan khusus dan struktur data:

ke_numeric(): Ideal untuk penukaran yang boleh dipercayai daripada nilai bukan angka kepada angka jenis.

astype(): Penukaran eksplisit dan fleksibel kepada mana-mana dtype yang diingini.

infer_objects(): Diperkenalkan dalam panda 0.21.0, khusus untuk menukar lajur objek kepada yang lebih khusus taip.

convert_dtypes(): Sebahagian daripada panda versi 1.0 dan ke atas, secara automatik menukar lajur kepada jenis "terbaik mungkin" yang menyokong nilai hilang NA panda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Jenis Data Berbilang Lajur dengan Cekap dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:Pengalaman Penyelesaian MasalahArtikel seterusnya:Pengalaman Penyelesaian Masalah