Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เปลี่ยนชนิดข้อมูลของคอลัมน์ใน Pandas DataFrame

ในบทช่วยสอนนี้ เราจะเรียนรู้การแปลงชนิดข้อมูลของคอลัมน์หนึ่งหรือหลายคอลัมน์เป็นชนิดข้อมูลอื่น เราจะใช้เมธอด DataFrame.astype()

เราต้องส่งชนิดข้อมูลจาก Python, Pandas, หรือ Numpy เพื่อเปลี่ยนชนิดข้อมูลของสมาชิกในคอลัมน์ เราสามารถส่งดิกชันนารีของคอลัมน์ที่เลือกเพื่อเปลี่ยนชนิดข้อมูลของคอลัมน์เฉพาะได้ มาดูตัวอย่างพร้อมโค้ด

ตัวอย่าง

# นำเข้าไลบรารี pandas
import pandas as pd

# สร้าง DataFrame
data_frame = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Tutorialspoint', 'Mohit', 'Sharma'], 'Age': [25, 32, 21]})

# เปลี่ยนชนิดข้อมูลทุกคอลัมน์เป็น str
data_frame = data_frame.astype(str)

# ตรวจสอบชนิดข้อมูลด้วยเมธอด dtypes
print(data_frame.dtypes)

ผลลัพธ์

ชนิดข้อมูลทุกคอลัมน์เปลี่ยนเป็น object (str) ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้:

No      object
Name    object
Age     object
dtype: object

ตอนนี้ลองเปลี่ยนชนิดข้อมูลคอลัมน์ Age จาก int เป็น str เราต้องสร้างดิกชันนารีระบุชื่อคอลัมน์และชนิดข้อมูลที่ต้องการ

ตัวอย่าง

# นำเข้าไลบรารี pandas
import pandas as pd

# สร้าง DataFrame
data_frame = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Tutorialspoint', 'Mohit', 'Sharma'], 'Age': [25, 32, 21]})

# สร้างดิกชันนารีพร้อมชื่อคอลัมน์และชนิดข้อมูล
data_types_dict = {'Age': str}

# เปลี่ยนชนิดข้อมูลคอลัมน์ Age เป็น str โดยส่งดิกชันนารีให้ astype
data_frame = data_frame.astype(data_types_dict)

# ตรวจสอบชนิดข้อมูล
print(data_frame.dtypes)

ผลลัพธ์

จากผลลัพธ์จะเห็นว่าเฉพาะคอลัมน์ Age เปลี่ยนจาก int เป็น str ดูผลลัพธ์ด้านล่าง

No      int64
Name    object
Age     object
dtype: object

สรุป

เมธอด astype() ยืดหยุ่น อนุญาตให้เปลี่ยนชนิดข้อมูลหลายคอลัมน์พร้อมกันด้วยดิกชันนารี หรือคอลัมน์เดียวด้วยชนิดข้อมูลโดยตรง