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

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


Pandas เป็นไลบรารี่หลามที่นำเสนอคุณสมบัติมากมายสำหรับการวิเคราะห์ข้อมูล ซึ่งไม่มีในไลบรารีมาตรฐานของไพธอน หนึ่งในคุณสมบัติดังกล่าวคือการใช้ Data Frames เป็นตารางสี่เหลี่ยมแทนคอลัมน์และแถว ขณะสร้าง 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

โดยการเพิ่มคำนำหน้า

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

ตัวอย่าง

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