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

สร้าง DataFrame ใน Pandas จากข้อมูลสตริงใน Python

ภาพรวม

บทความสอนสร้าง pandas DataFrame จากข้อมูลสตริง (CSV format) โดยใช้ io.StringIO จำลองไฟล์

โค้ด Python

import pandas as pd
from io import StringIO

str_data = StringIO("""Id;Subject;Course_Fee
10;DBMS;3000
11;Basic Maths;2000
12;Data Science;40000
13;Algorithm;5000""")

df = pd.read_csv(str_data, sep=";")
print(df)

ผลลัพธ์

   Id       Subject  Course_Fee
0  10          DBMS        3000
1  11   Basic Maths        2000
2  12  Data Science       40000
3  13     Algorithm        5000

อธิบาย

  • StringIO ทำให้สตริงทำงานเหมือน file object
  • pd.read_csv อ่าน CSV จาก file-like object
  • sep=";" กำหนด delimiter เป็น semicolon

วิธีอื่น: จาก List of Dicts

data = [
    {"Id": 10, "Subject": "DBMS", "Course_Fee": 3000},
    {"Id": 11, "Subject": "Basic Maths", "Course_Fee": 2000},
    {"Id": 12, "Subject": "Data Science", "Course_Fee": 40000},
    {"Id": 13, "Subject": "Algorithm", "Course_Fee": 5000}
]
df = pd.DataFrame(data)

ข้อดีของ StringIO

  • เหมาะกับข้อมูล CSV ที่ได้จาก API response, string variable
  • ไม่ต้องเขียนไฟล์ชั่วคราวลงดิสก์