在 Pandas Dataframe 中設定列作為索引
Manav Narula
2023年1月30日
2020年12月19日
-
使用
set_index()
在 Pandas DataFrame 中指定列作為索引 -
使用
read_excel
或read_csv
中的index_col
引數在 Pandas DataFrame 中將列作為索引
通常,在 Pandas Dataframe 中,我們預設以 0 到物件長度的序列號作為索引。我們也可以將 DataFrame 中的某一列作為其索引。為此,我們可以使用 pandas 中提供的 set_index()
,也可以在從 excel 或 CSV 檔案中匯入 DataFrame 時指定列作為索引。
使用 set_index()
在 Pandas DataFrame 中指定列作為索引
set_index()
可以應用於列表、序列或 DataFrame 來改變它們的索引。對於 DataFrame,set_index()
也可以將多個列作為它們的索引。
例:
import pandas as pd
import numpy as np
colnames = ['Name','Time','Course']
df = pd.DataFrame([['Jay',10,'B.Tech'],
['Raj',12,'BBA'],
['Jack',11,'B.Sc']], columns = colnames)
print(df)
輸出:
Name Time Course
0 Jay 10 B.Tech
1 Raj 12 BBA
2 Jack 11 B.Sc
將列作為索引的語法:
dataframe.set_index(Column_name,inplace = True)
使用 set_index()
將一列作為索引。
import pandas as pd
import numpy as np
colnames = ['Name','Time','Course']
df = pd.DataFrame([['Jay',10,'B.Tech'],
['Raj',12,'BBA'],
['Jack',11,'B.Sc']], columns = colnames)
df.set_index('Name', inplace = True)
print(df)
輸出:
Time Course
Name
Jay 10 B.Tech
Raj 12 BBA
Jack 11 B.Sc
使多列作為索引:
import pandas as pd
import numpy as np
colnames = ['Name','Time','Course']
df = pd.DataFrame([['Jay',10,'B.Tech'],
['Raj',12,'BBA'],
['Jack',11,'B.Sc']], columns = colnames)
df.set_index(['Name','Course'], inplace = True)
print(df)
輸出:
Time
Name Course
Jay B.Tech 10
Raj BBA 12
Jack B.Sc 11
使用 read_excel
或 read_csv
中的 index_col
引數在 Pandas DataFrame 中將列作為索引
當從 excel 或 CSV 檔案中讀取 DataFrame 時,我們可以指定我們想要的列作為 DataFrame 的索引。
例:
import pandas as pd
import numpy as np
df = pd.read_excel("data.xlsx",index_col = 2)
print(df)
輸出:
Name Time
Course
B.Tech Mark 12
BBA Jack 10
B.Sc Jay 11
Author: Manav Narula
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn