Pandalarda sütun türü nasıl değiştirilir (örneklerle)
Bir pandanın DataFrame sütunları aşağıdaki türlerden birini alabilir:
- nesne (dizeler)
- int64 (tamsayılar)
- float64 (ondalık basamaklı sayısal değerler)
- bool (doğru veya yanlış değerler)
- datetime64 (tarihler ve saatler)
Bir sütunu bir veri türünden diğerine dönüştürmenin en kolay yolu astype() işlevini kullanmaktır.
Sütunları bir veri türünden diğerine dönüştürmek için astype() işleviyle aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Bir sütunu başka bir veri türüne dönüştürme
df[' col1 '] = df[' col1 ']. astype (' int64 ')
Yöntem 2: Birden çok sütunu başka bir veri türüne dönüştürme
df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. astype (' int64 ')
Yöntem 3: Tüm Sütunları Başka Bir Veri Türüne Dönüştürme
df = df. astype (' int64 ')
Aşağıdaki örnekler, her yöntemin pratikte aşağıdaki pandalar DataFrame ile nasıl kullanılacağını gösterir:
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
Örnek 1: Bir sütunu başka bir veri türüne dönüştürme
Aşağıdaki kod, görev süresi sütununu kayan noktalı değerden tam sayıya dönüştürmek için astype() işlevinin nasıl kullanılacağını gösterir:
#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
Görev süresi sütununun int64’e dönüştürüldüğünü ancak diğer tüm sütunların orijinal veri türlerini koruduğunu unutmayın.
Örnek 2: Birden çok sütunu başka bir veri türüne dönüştürme
Aşağıdaki kod, kimlik ve görev süresi sütunlarını tam sayılara dönüştürmek için astype() işlevinin nasıl kullanılacağını gösterir:
#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
Kimlik ve görev süresi sütunlarının int64’e dönüştürüldüğünü unutmayın.
Örnek 3: Tüm sütunları başka bir veri türüne dönüştürme
Aşağıdaki kod, DataFrame’deki tüm sütunları bir tamsayı veri türüne dönüştürmek için astype() işlevinin nasıl kullanılacağını gösterir:
#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
Tüm sütunların int64’e dönüştürüldüğünü unutmayın.
Not : Pandaların astype() işlevinin tam belgelerini burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer yaygın dönüşümlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandas DataFrame sütunlarını dizelere dönüştürme
Pandalar’da zaman damgasını tarih/saat’e dönüştürme
Pandalar’da DateTime’ı tarihe nasıl dönüştürebilirim?
Pandalarda dizeleri kayan hale nasıl dönüştürebilirim?