pandas指定列索引和行索引


1、使用 set_index() 在 Pandas DataFrame 中指定列作為索引
2、使用 read_excel 或 read_csv 中的 index_col 參數在 Pandas DataFrame 中將列作為索引

通常,在 Pandas Dataframe 中,我們默認以 0 到對象長度的序列號作為索引。我們也可以將 DataFrame 中的某一列作為其索引。為此,我們可以使用 pandas 中提供的 set_index(),也可以在從 excel 或 CSV 文件中導入 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)

使用 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)

使多列作為索引:

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)

當從 excel 或 CSV 文件中讀取 DataFrame 時,我們可以指定我們想要的列作為 DataFrame 的索引。

import pandas as pd
import numpy as np
df = pd.read_excel("data.xlsx",index_col = 2)
print(df)

------------------------------------------------------------------------------------------------------

將指定行作為columns:

#set 第0行作為column名。axis=1,列變換
#有時候inplace=True的時候遇到了問題,這里inplace= False保留了第0行,然后drop掉第0行,比較安全。

pd1=pd.set_axis(pd.iloc[0],axis=1,inplace= False)  
pd1=pd1.drop(index=0) 

#set “names列作為index名。這里直接drop了第0行,目前沒有遇到過問題。

pd=pd.set_index('names',drop=True)

#小結:set_index 行名 set_axis 列名和行名
*# 這里set_index的參數可以用’names’,相對更簡單。set_axis 對參數的要求稍微繁瑣一些。

 

參考文章:

https://www.delftstack.com/zh/howto/python-pandas/set-column-as-index-pandas/#%25E4%25BD%25BF%25E7%2594%25A8-read_excel-%25E6%2588%2596-read_csv-%25E4%25B8%25AD%25E7%259A%2584-index_col-%25E5%258F%2582%25E6%2595%25B0%25E5%259C%25A8-pandas-dataframe-%25E4%25B8%25AD%25E5%25B0%2586%25E5%2588%2597%25E4%25BD%259C%25E4%25B8%25BA%25E7%25B4%25A2%25E5%25BC%2595

https://blog.csdn.net/lc19837862/article/details/108945519


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM