Pandas: วิธีรับดัชนีคอลัมน์จากชื่อคอลัมน์


คุณสามารถใช้วิธีการต่อไปนี้เพื่อรับค่าดัชนีคอลัมน์จากชื่อคอลัมน์ในแพนด้า:

วิธีที่ 1: รับดัชนีคอลัมน์สำหรับชื่อคอลัมน์

 df. columns . get_loc (' this_column ')

วิธีที่ 2: รับดัชนีคอลัมน์สำหรับชื่อคอลัมน์หลายชื่อ

 cols = [' this_column ', ' that_column ']

[df. columns . get_loc (c) for c in cols if c in df]

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' sales ': [18, 10, 14, 13, 19, 24, 25, 29],
                   ' returns ': [1, 2, 2, 3, 2, 3, 5, 4],
                   ' recalls ': [0, 0, 2, 1, 1, 2, 0, 1]})
#view DataFrame
print (df)

  store sales returns recalls
0 to 18 1 0
1 to 10 2 0
2 A 14 2 2
3 A 13 3 1
4 B 19 2 1
5 B 24 3 2
6 B 25 5 0
7 B 29 4 1

ตัวอย่างที่ 1: รับดัชนีคอลัมน์สำหรับชื่อคอลัมน์

รหัสต่อไปนี้แสดงวิธีรับค่าดัชนีคอลัมน์สำหรับคอลัมน์ชื่อ “returns”:

 #get column index for column with the name 'returns'
df. columns . get_loc (' returns ')

2

คอลัมน์ชื่อ “return” มีค่าดัชนีคอลัมน์เป็น 2

หมายเหตุ : ค่าดัชนีคอลัมน์เริ่มต้นที่ 0 ใน Python ดังนั้น เนื่องจาก “return” เป็นคอลัมน์ที่สามของ DataFrame ค่าดัชนีจึงเป็น 2

ตัวอย่างที่ 2: รับดัชนีคอลัมน์สำหรับชื่อคอลัมน์หลายชื่อ

รหัสต่อไปนี้แสดงวิธีรับค่าดัชนีคอลัมน์สำหรับหลายคอลัมน์ใน DataFrame:

 #define list of columns to get index for
cols = [' store ', ' returns ', ' recalls ']

#get column index for each column in list
[df. columns . get_loc (c) for c in cols if c in df]

[0, 2, 3]

จากผลลัพธ์เราจะเห็นได้ว่า:

  • คอลัมน์ชื่อ “store” มีค่าดัชนีคอลัมน์เป็น 0
  • คอลัมน์ชื่อ “return” มีค่าดัชนีคอลัมน์เป็น 2
  • คอลัมน์ชื่อ “reminders” มีค่าดัชนีคอลัมน์เป็น 3

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของฟังก์ชัน pandas get_loc() ได้ที่นี่

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

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

วิธีรับค่าเซลล์จาก Pandas DataFrame
วิธีเปลี่ยนชื่อดัชนีใน Pandas DataFrame
วิธีจัดเรียงคอลัมน์ตามชื่อใน Pandas

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

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