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

Python - เปลี่ยนชื่อคอลัมน์และดัชนีแถวใน Pandas DataFrame

Pandas เป็นไลบรารี Python ที่เสนอคุณสมบัติมากมายสำหรับการวิเคราะห์ข้อมูลซึ่งไม่มีในไลบรารีมาตรฐานของ Python คุณสมบัติหนึ่งคือการใช้ Data Frames พวกมันคือกริดสี่เหลี่ยมผืนผ้าที่แทนคอลัมน์และแถว ขณะสร้าง Data frame เราตัดสินใจชื่อของคอลัมน์และอ้างอิงพวกมันในการจัดการข้อมูลต่อไป แต่อาจมีสถานการณ์ที่เราต้องเปลี่ยนชื่อคอลัมน์หลังจากสร้าง Data frame แล้ว ในบทความนี้ เราจะดูวิธีทำให้ได้

ใช้ rename()

นี่คือวิธีที่แนะนำมากที่สุด เพราะเราสามารถเปลี่ยนทั้งคอลัมน์และดัชนีแถวด้วยวิธีนี้ เราเพียงส่งค่าเก่าและค่าใหม่เป็น Dictionary ของคู่คีย์-ค่าให้เมธอดนี้และบันทึก Data frame ด้วยชื่อใหม่

ตัวอย่าง

import pandas as pd
df = pd.DataFrame({
    'ColumnA': [23, 92, 32],
    'ColumnB': [54, 76, 43],
    'ColumnC': [16, 45, 10]
}, index=['10-20', '20-30', '30-40'])
df_renamed = df.rename(columns={'ColumnA': 'Col1', 'ColumnB': 'Col2', 'ColumnC': 'Col3'}, index={'10-20': '1', '20-30': '2', '30-40': '3'})
print(df)
print("\n", df_renamed)

เอาต์พุต

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้:

    ColumnA  ColumnB  ColumnC
10-20      23       54       16
20-30      92       76       45
30-40      32       43       10

    Col1  Col2  Col3
1      23     54     16
2      92     76     45
3      32     43     10

ใช้ df.columns

df.columns สามารถกำหนดชื่อคอลัมน์ใหม่โดยตรงได้ เมื่อ Data frame ถูกใช้ใหม่ ชื่อคอลัมน์ใหม่จะถูกอ้างอิง

ตัวอย่าง

import pandas as pd
df = pd.DataFrame({
    'ColumnA': [23, 92, 32],
    'ColumnB': [54, 76, 43],
    'ColumnC': [16, 45, 10]
}, index=['10-20', '20-30', '30-40'])
df.columns = ["Length", "Breadth", "Depth"]
print(df)

เอาต์พุต

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้:

    Length  Breadth  Depth
10-20     23       54     16
20-30     92       76     45
30-40     32       43     10

โดยการเพิ่ม Prefix

Pandas DataFrame มีเมธอดสำหรับเพิ่ม prefix และ suffix ให้ชื่อคอลัมน์ เราเพียงใช้เมธอดนี้เพื่อเพิ่ม prefix ที่ต้องการซึ่งจะต่อท้ายชื่อคอลัมน์แต่ละตัว

ตัวอย่าง

import pandas as pd
df = pd.DataFrame({
    'ColA': [23, 92, 32],
    'ColB': [54, 76, 43],
    'ColC': [16, 45, 10]
}, index=['10-20', '20-30', '30-40'])
print(df.add_prefix('Jan-'))

เอาต์พุต

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้:

    Jan-ColA  Jan-ColB  Jan-ColC
10-20       23       54       16
20-30       92       76       45
30-40       32       43       10