Secara default, Python memiliki tipe data berikut ini:
- string – digunakan untuk mewakili data teks, teks diberikan di antara tanda kutip. misalnya. “ABCD”
- integer – digunakan untuk merepresentasikan bilangan integer. misalnya. -1, -2, -3
- float – digunakan untuk mewakili bilangan real. misalnya. 1.2, 42.42
- boolean – digunakan untuk mewakili True atau False.
- complex – digunakan untuk merepresentasikan bilangan dalam dataran kompleks. misalnya. 1.0 + 2.0j, 1.5 + 2.5j
Section Artikel
- 1 Tipe Data di NumPy
- 2 Memeriksa Tipe Data Array
- 3 Membuat Array Dengan Tipe Data Yang Ditentukan
- 4 Bagaimana Jika Suatu Nilai Tidak Dapat Dikonversi?
- 5 Mengonversi Tipe Data pada Array yang Ada
Tipe Data di NumPy
NumPy memiliki beberapa tipe data tambahan, dan mengacu pada tipe data dengan satu karakter, seperti i untuk integer, u untuk unsigned integer dll.
Di bawah ini adalah daftar semua tipe data di NumPy dan karakter yang digunakan untuk mewakilinya.
- i – integer
- b – boolean
- u – unsigned integer
- f – float
- c – complex float
- m – timedelta
- M – datetime
- O – objek
- S – string
- U – string unicode
- V – potongan memori tetap untuk tipe lain [void]
Memeriksa Tipe Data Array
Objek array NumPy memiliki properti yang disebut dtype yang mengembalikan tipe data dari array.
Contoh:
Dapatkan tipe data dari objek array
import numpy as np arr = np.array[[1, 2, 3, 4]] print[arr.dtype]
Contoh
Dapatkan tipe data dari array yang berisi string
import numpy as np arr = np.array[['apple', 'banana', 'cherry']] print[arr.dtype]
Membuat Array Dengan Tipe Data Yang Ditentukan
Kita menggunakan fungsi array[] untuk membuat array, fungsi ini dapat mengambil argumen opsional: dtype yang memungkinkan untuk menentukan tipe data yang diharapkan dari elemen array.
Contoh:
Buat
array dengan tipe data string
import numpy as np arr = np.array[[1, 2, 3, 4], dtype='S'] print[arr] print[arr.dtype]
Untuk i, u, f, S dan U kita juga bisa mendefinisikan ukuran.
Contoh:
Buat array dengan tipe data 4 byte integer
import numpy as np arr = np.array[[1, 2, 3, 4], dtype='i4'] print[arr] print[arr.dtype]
Bagaimana Jika Suatu Nilai Tidak Dapat Dikonversi?
Jika sebuah tipe diberikan di mana elemen tidak dapat dikonversi maka NumPy akan memunculkan ValueError.
ValueError: Dalam Python ValueError dimunculkan ketika jenis argumen yang diteruskan ke suatu fungsi tidak diharapkan / salah.
Contoh:
String non integer seperti ‘a’ tidak dapat diubah menjadi integer [akan menimbulkan error]
import numpy as np arr = np.array[['a', '2', '3'], dtype='i']
Mengonversi Tipe Data pada Array yang Ada
Cara terbaik untuk mengubah tipe data dari array yang ada, adalah membuat salinan dari array dengan metode astype[].
Fungsi astype[] berfungsi untuk membuat salinan array, dan memungkinkan kita untuk menentukan tipe data sebagai parameter.
Tipe data dapat ditentukan menggunakan string, seperti ‘f’ untuk float, ‘i’ untuk integer, dll. Atau Anda dapat menggunakan tipe data secara langsung seperti float untuk float dan int untuk integer.
Contoh:
Ubah tipe data dari float menjadi integer dengan menggunakan ‘i’ sebagai nilai parameter
import numpy as np arr = np.array[[1.1, 2.1, 3.1]] newarr = arr.astype['i'] print[newarr] print[newarr.dtype]
Contoh
Ubah tipe
data dari float menjadi integer dengan menggunakan int sebagai nilai parameter
import numpy as np arr = np.array[[1.1, 2.1, 3.1]] newarr = arr.astype[int] print[newarr] print[newarr.dtype]
Contoh
Ubah tipe data dari integer menjadi boolean
import numpy as np arr = np.array[[1, 0, 3]] newarr = arr.astype[bool] print[newarr] print[newarr.dtype]
Fungsi DataFrame.astype[] digunakan untuk mentransmisikan tipe data kolom [dtype] di objek pandas, mendukung String, flat, date, int, datetime banyak tipe d lain yang didukung oleh Numpy. Ini berguna ketika Anda ingin mentransmisikan kolom DataFrame dari satu tipe data ke tipe data lainnya.
panda astype[] Poin Kunci –
- Ini digunakan untuk mentransmisikan tipe data [dtype].
- Mendukung mengubah beberapa tipe data menggunakan Dict.
- Mendukung semua tipe data yang disertakan dengan Numpy.
- 1. Sintaks DataFrame.astype[]
- 2. DataFrame.astype[] – Cast Semua Kolom Tipe Data [dtype]
- 3. Ubah Jenis Kolom Tertentu
- 4. astype[] – Keluarkan Beberapa Kolom Menggunakan Dict
- 5. astype[] dengan menaikkan atau mengabaikan Kesalahan
- Kesimpulan
- Referensi
1. Sintaks DataFrame.astype[]
Berikut ini adalah sintaks dari DataFrame.astype[]. Fungsi ini membutuhkan dtype, copydan errors param.
# astype[] Syntax DataFrame.astype[dtype, copy=True, errors="raise"]
Berikut ini adalah parameter dari astype[].
- dtype – Menerima tipe numpy.dtype atau Python untuk mentransmisikan seluruh objek panda ke tipe yang sama. Gunakan {col: dtype, …}, di mana col adalah label kolom dan dtype adalah numpy.dtype atau tipe Python untuk mentransmisikan satu atau lebih kolom DataFrame.
- copy -Default Benar. Kembalikan salinan ketika copy=True [berhati-hatilah dalam pengaturan copy=False sebagai perubahan nilai maka dapat menyebar ke objek panda lainnya].
- errors – Kenaikan bawaan.
- Gunakan ‘naikkan’ untuk menghasilkan pengecualian saat tidak dapat mentransmisikan karena tipe data yang tidak valid.
- Gunakan ‘abaikan’ untuk tidak memunculkan pengecualian [menekan kesalahan/pengecualian]. Pada kesalahan kembalikan objek asli.
2. DataFrame.astype[] – Cast Semua Kolom Tipe Data [dtype]
Secara default panda astype[] mencoba untuk melemparkan semua kolom DataFrame ke yang ditentukan numpy.dtype atau jenis Python [int, string, float, date, datetime] . Jika salah satu kolom tidak dapat dilemparkan karena data atau nan yang tidak valid, itu menimbulkan kesalahan ‘ValueError: literal tidak valid’ dan gagal operasi.
Contoh di bawah ini menunjukkan casting semua tipe data kolom.
import pandas as pd import numpy as np # Create DataFrame from Dictionary technologies = { 'Fee' :["20000","25000","26000"], 'Discount':["1000","2300","1500"] } df = pd.DataFrame[technologies] print[df.dtypes] # Outputs Fee object Discount object dtype: object
DataFrame.dtypes mengembalikan nama Kolom dan tipe d untuk semua kolom DataFrame. Perhatikan bahwa DataFrame di atas memiliki tipe objek untuk semua kolom.
Sekarang mari kita berikan tipe data ke Integer bertanda 64-bitKamu dapat memakai numpy.int64,numpy.int_, int64 atau int sebagai param. Untuk mentransmisikan ke bilangan bulat bertanda 32-bitmenggunakan numpy.int32, int32.
# Cast all columns to int df = df.astype[np.int64] df = df.astype['int64'] df = df.astype['int'] print[df.dtypes] # All gives the same output. Fee int64 Discount int64 dtype: object
Perhatikan bahwa itu memperbarui semua kolom dengan dtype baru.
Mari kita melemparkannya ke String, menggunakan numpy.str_ atau string.
# Cast all columns to string df = df.astype['string'] print[df.dtypes] # Outputs Fee string Discount string dtype: object
Mari kita melemparkannya ke tipe float menggunakan numpy.float64, numpy.float_, float
# Cast all columns to float df = df.astype['float'] print[df.dtypes] # Outputs Fee float Discount flat dtype: object
3. Ubah Jenis Kolom Tertentu
Anda juga dapat mengubah jenis kolom tertentu dengan menggunakan Series.astype[]karena setiap kolom pada DataFrame adalah Seri panda, saya akan mendapatkan kolom dari DataFrame sebagai Seri dan menggunakan astype[]. Dalam contoh di bawah ini df.Fee atau df[‘Fee’] mengembalikan objek Seri.
# Cast specific column type df.Fee = df.Fee.astype['int'] [or] df.Fee = df['Fee'].astype['int'] print[df.dtypes] # Outputs Fee int64 Discount object dtype: object
4. astype[] – Keluarkan Beberapa Kolom Menggunakan Dict
dtype param dari astype[] juga mendukung Kamus dalam format {col: dtype, …} di mana col adalah label kolom dan dtype adalah a numpy.dtype atau tipe Python [int, string, float, date, datetime] untuk mentransmisikan satu atau beberapa kolom DataFrame.
import pandas as pd import numpy as np # Create DataFrame from Dictionary technologies = { 'Courses':["Spark","PySpark","Hadoop"], 'Fee' :["20000","25000","26000"], 'Duration':['30day','40days','35days'], 'Discount':["1000","2300","1500"] } df = pd.DataFrame[technologies] print[df.dtypes] # Outputs Courses object Fee object Duration object Discount object dtype: object
Sekarang, dengan menggunakan panda DataFrame.astype[]melemparkan Courses ke string, Fee ke int dan Discount ke float.
df2 = df.astype[{'Courses':'string','Fee':'int','Discount':'float'}] print[df2.dtypes] # Outputs Courses string Fee int64 Duration object Discount float64 dtype: object
5. astype[] dengan menaikkan atau mengabaikan Kesalahan
Akhirnya, mari kita lihat bagaimana Anda dapat meningkatkan atau mengabaikan kesalahan saat casting, untuk melakukannya Anda harus menggunakan errors parameter Secara default, ini menggunakan raise sebagai nilai yang berarti menghasilkan pengecualian ketika tidak dapat dilemparkan karena data yang tidak valid untuk tipe.
Dari DataFrame kami Courses memiliki string data, mari kirimkan ini ke int dan lihat apa yang terjadi.
# Raise error when unable to cast df.Courses = df.Courses.astype['int'] # Outputs ValueError: invalid literal for int[] with base 10: 'Spark'
Seperti yang Anda lihat, itu meningkatkan kesalahan saat tidak dapat melakukan casting. Sekarang mari kita tekan pengecualian menggunakan nilai abaikan pada param kesalahan. Dengan ini, ketika kesalahan terjadi, ia mengabaikan kesalahan dan mengembalikan objek yang sama tanpa memperbarui.
# Ignore error when unable to cast df.Courses = df.Courses.astype['int', errors="ignore"] print[df.dtypes] # Outputs Courses string Fee int64 Duration object Discount float64 dtype: object
Kesimpulan
Pada artikel ini, saya telah menjelaskan sintaks pandas DataFrame.astype[], contoh casting seluruh DataFrame, kolom tertentu, beberapa kolom ke numpy.dtype atau tipe Python [int, string, float, date, datetime].