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

เขียนฟังก์ชัน Python เพื่อแยกสตริงตามตัวคั่นและแปลงเป็น Series


ผลลัพธ์ของการแยกสตริงด้วยตัวคั่น '\t' และแปลงเป็น Series มีดังนี้:

0    apple
1    orange
2    mango
3    kiwi

ในการแก้ปัญหานี้ เราจะใช้วิธีดังนี้:

วิธีที่ 1

  • กำหนดฟังก์ชัน split_str() ที่รับสองอาร์กิวเมนต์คือ string และ delimiter

  • สร้างฟังก์ชัน s.split() ภายในค่า delimiter และเก็บไว้ใน split_data

split_data = s.split(d)
  • ใช้ split_data ภายใน pd.Series() เพื่อสร้างข้อมูล Series

pd.Series(split_data)
  • สุดท้าย เรียกใช้ฟังก์ชันเพื่อคืนค่าผลลัพธ์

ตัวอย่าง

ลองดูโค้ดต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:

import pandas as pd
def split_str(s, d):
    split_data = s.split(d)
    print(pd.Series(split_data))
split_str('apple\torange\tmango\tkiwi', '\t')

ผลลัพธ์

0    apple
1    orange
2    mango
3    kiwi
dtype: object

วิธีที่ 2

  • กำหนดสตริงและกำหนดให้ตัวแปร data

data = 'apple\torange\tmango\tkiwi'
  • กำหนด delimiter = '\t'

  • สร้าง lambda function กำหนดตัวแปร x เป็นสตริง, y เป็น delimiter พร้อมนิพจน์ x.split(y) และเก็บไว้ใน split_data

split_data = lambda x, y: x.split(y)
  • เรียกใช้ฟังก์ชันด้วยค่า data และ delimiter แล้วบันทึกเป็น result list

result = split_data(data, delimiter)
  • แปลง result list เป็น Series ดังนี้:

pd.Series(result)

ตัวอย่าง

ลองดูโค้ดต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:

import pandas as pd
data = 'apple\torange\tmango\tkiwi'
delimiter = '\t'
split_data = lambda x, y: x.split(y)
result = split_data(data, delimiter)
print(pd.Series(result))

ผลลัพธ์

0    apple
1    orange
2    mango
3    kiwi
dtype: object