Pandas: วิธีรับสตริงย่อยของทั้งคอลัมน์


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อรับสตริงย่อยของทั้งคอลัมน์ใน DataFrame ของแพนด้า:

 df[' some_substring '] = df[' string_column ']. str [1:4]

ตัวอย่างนี้สร้างคอลัมน์ใหม่ที่เรียกว่า some_substring ซึ่งมีอักขระจากตำแหน่ง 1 ถึง 4 ใน string_column

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: รับสตริงย่อยของทั้งคอลัมน์ใน Pandas

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavericks', 'Warriors', 'Rockets', 'Hornets', 'Lakers'],
                   ' points ': [120, 132, 108, 118, 106]})

#view DataFrame
print (df)

        team points
0 Mavericks 120
1 Warriors 132
2 Rockets 108
3 Hornets 118
4 Lakers 106

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างคอลัมน์ใหม่ที่มีอักขระจากคอลัมน์ ทีม ระหว่างตำแหน่ง 1 และ 4:

 #create column that extracts characters in positions 1 through 4 in team column
df[' team_substring '] = df[' team ']. str [1:4]

#view updated DataFrame
print (df)

        team points team_substring
0 Mavericks 120 ave
1 Warriors 132 arr
2 Rockets 108 ock
3 Hornets 118 orn
4 Lakers 106 ake

คอลัมน์ใหม่ที่เรียกว่า team_substring มีอักขระจากคอลัมน์ทีมระหว่างตำแหน่ง 1 และ 4

โปรดทราบว่าหากคุณพยายามใช้ไวยากรณ์นี้เพื่อแยกสตริงย่อยออกจากคอลัมน์ตัวเลข คุณจะได้รับข้อผิดพลาด:

 #attempt to extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. str [:2]

AttributeError: Can only use .str accessor with string values!

คุณต้องแปลงคอลัมน์ตัวเลขเป็นสตริงก่อนโดยใช้ astype(str) :

 #extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. astype (str). str [:2]

#view updated DataFrame
print (df)

        team points points_substring
0 Mavericks 120 12
1 Warriors 132 13
2 Rockets 108 10
3 Hornets 118 11
4 Lakers 106 10

คราวนี้เราสามารถแยกอักขระจากตำแหน่ง 0 ถึง 2 จากคอลัมน์ จุด ได้สำเร็จเนื่องจากเราแปลงเป็นสตริงก่อน

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:

Pandas: ตรวจสอบว่าสตริงมีหลายสตริงย่อยหรือไม่
Pandas: วิธีเพิ่มสตริงลงในแต่ละค่าในคอลัมน์
Pandas: วิธีเลือกคอลัมน์ที่มีสตริงเฉพาะ

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *