Cara mengubah tipe kolom di pandas (dengan contoh)


Kolom DataFrame pandas dapat menggunakan salah satu tipe berikut:

  • objek (string)
  • int64 (bilangan bulat)
  • float64 (nilai numerik dengan desimal)
  • bool (nilai benar atau salah)
  • datetime64 (tanggal dan waktu)

Cara termudah untuk mengonversi kolom dari satu tipe data ke tipe data lainnya adalah dengan menggunakan fungsi astype() .

Anda bisa menggunakan metode berikut dengan fungsi astype() untuk mengonversi kolom dari satu tipe data ke tipe data lainnya:

Metode 1: Konversikan kolom ke tipe data lain

 df[' col1 '] = df[' col1 ']. astype (' int64 ')

Metode 2: Konversikan beberapa kolom ke tipe data lain

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. astype (' int64 ')

Metode 3: Ubah Semua Kolom ke Tipe Data Lain

 df = df. astype (' int64 ')

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan pandas DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' ID ': ['1', '2', '3', '4', '5', '6'],
                   ' tenure ': [12.443, 15.8, 16.009, 5.06, 11.075, 12.9546],
                   ' sales ': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print (df)

  ID tenure sales
0 1 12.4430 5
1 2 15.8000 7
2 3 16.0090 7
3 4 5.0600 9
4 5 11.0750 12
5 6 12.9546 9

#view data type of each column
print ( df.dtypes )

object ID
tenure float64
dirty int64
dtype:object

Contoh 1: Mengonversi kolom ke tipe data lain

Kode berikut menunjukkan cara menggunakan fungsi astype() untuk mengonversi kolom tenure dari float menjadi integer:

 #convert tenure column to int64
df[' tenure '] = df[' tenure ']. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

object ID
tenure int64
dirty int64
dtype:object

Perhatikan bahwa kolom kepemilikan diubah menjadi int64 sementara semua kolom lainnya mempertahankan tipe data aslinya.

Contoh 2: Konversi beberapa kolom ke tipe data lain

Kode berikut menunjukkan cara menggunakan fungsi astype() untuk mengonversi kolom ID dan tenure menjadi bilangan bulat:

 #convert ID and tenure columns to int64
df[[' ID ', ' tenure ']] = df[[' ID ', ' tenure ']]. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

ID int64
tenure int64
dirty int64
dtype:object

Perhatikan bahwa kolom ID dan tenure telah diubah menjadi int64.

Contoh 3: Konversikan semua kolom ke tipe data lain

Kode berikut menunjukkan cara menggunakan fungsi astype() untuk mengonversi semua kolom di DataFrame menjadi tipe data integer:

 #convert all columns to int64
df = df. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

ID int64
tenure int64
dirty int64
dtype:object

Perhatikan bahwa semua kolom telah dikonversi ke int64.

Catatan : Anda dapat menemukan dokumentasi lengkap fungsi pandas astype() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan konversi umum lainnya di pandas:

Cara mengonversi kolom Pandas DataFrame menjadi string
Bagaimana cara mengubah stempel waktu menjadi tanggal/waktu di Pandas
Bagaimana cara mengonversi DateTime ke tanggal di Pandas
Bagaimana mengubah string menjadi float di Pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *