# Python-pandas DataFrame利用columnName 插入列(column) 新增列 ###### tags: `python` 交換column順序並保留原始內容的方式有許多種。 大多數是用index,這篇將是用columnName 因為自己遇到的excel檔案可能有幾十個column,不想看也不想算到底是數來第幾個... 有名字好辦事啊! 插入一欄新的列(column) 這個列的內容都會為空值 首先請自行準備好有資料的DataFrame 以下程式DataFrame變數為df ```python= col_name = df.columns.tolist() #先取得所有的df的columns名稱 col_name.insert(col_name.index('column名稱')+1,'這邊是新插入的column名稱') #在指定的column名稱後面增加新的一列 df=df.reindex(columns=col_name) #將df更新為新的columns順序 ``` 以上便完成了新的一列插入 插入原本的列(column) 這邊推薦如列數很少,可以直接更新DataFrame就好 例如我有一個DataFrame名df有三個column名稱A B C 順序即為A B C 我想將其改成A C B,只要下列一行程式即可 ```python= df = pd.DataFrame(df, columns = ["A","C","B"]) ``` 我想將其改成A C,不要B,也只要下列一行程式即可 ```python= df = pd.DataFrame(df, columns = ["A","C"]) ``` 這樣一定是最快的,但column若有30個...就寫到瘋了哈哈... 但要用columnName保留內容並修改順序,會需要比較多步驟 加設同樣是column名稱A B C,我需要把C換到A後面 也就是順序變成A C B 步驟如下 ```python= df_saveC = df['C'] #1.先另外保留要換位置的column內容 df=df.drop('C',axis=1) #2.將要換位置的column內容從DataFrame刪除 col_name = df.columns.tolist() #3.把上面「插入一欄新的列(column)」都做一遍 #先取得所有的df的columns名稱 col_name.insert(col_name.index('A')+1,'C') #在指定的column名稱後面增加新的一列 df=df.reindex(columns=col_name) #將df更新為新的columns順序 df['C']=df_saveC #4.此時C欄會是空值,所以把C指定回一開始另外保留的df_saveC ``` 以上就完成了保留列內容的插入啦! 當column多的時候,這個小技巧很實用喔!
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.