pandas?dataframe按照列名給列排序三種方法
下面介紹三種方法,給dataframe列排序:
1、使用sort_values()方法,并指定axis=1參數(shù)。
import pandas as pd
# 創(chuàng)建一個(gè)示例DataFrame
data = {'A': [3, 1, 4],
'C': [2, 6, 5],
'B': [9, 8, 7]}
df = pd.DataFrame(data)
# 按照列名給列排序
df = df.sort_values(by=df.columns, axis=1)
print(df)輸出結(jié)果:
A B C
0 3 9 2
1 1 8 6
2 4 7 5
在上述代碼中,我們首先創(chuàng)建了一個(gè)示例DataFrame。然后,我們使用sort_values()方法對(duì)DataFrame的列進(jìn)行排序。通過(guò)指定by=df.columns,我們將按照列名的字母順序?qū)α羞M(jìn)行排序。最后,通過(guò)設(shè)置axis=1參數(shù),我們指定按列進(jìn)行排序。
執(zhí)行上述代碼后,DataFrame的列將按照列名的字母順序進(jìn)行排序。
請(qǐng)注意,sort_values()方法會(huì)生成一個(gè)新的DataFrame,因此我們將排序后的結(jié)果重新賦值給df,以便在打印時(shí)顯示排序后的結(jié)果。如果你想在原始DataFrame上進(jìn)行排序,可以使用inplace=True參數(shù)。
2、使用reindex()方法,并傳遞一個(gè)包含所需順序的列名列表。
import pandas as pd
# 創(chuàng)建一個(gè)示例DataFrame
data = {'A': [3, 1, 4],
'B': [2, 6, 5],
'C': [9, 8, 7]}
df = pd.DataFrame(data)
# 按照指定順序給列排序
order = ['B', 'C', 'A']
df = df.reindex(columns=order)
print(df)輸出結(jié)果:
B C A
0 2 9 3
1 6 8 1
2 5 7 4
在上述代碼中,我們首先創(chuàng)建了一個(gè)示例DataFrame。然后,我們定義了一個(gè)列表order,其中包含了按照指定順序排列的列名。接下來(lái),我們使用reindex()方法,并傳遞columns=order來(lái)重新索引DataFrame的列,以按照指定順序進(jìn)行排序。
3、如果想原地修改DataFrame的列順序,可以使用df = df[order]的方式重新分配DataFrame給同名變量。
import pandas as pd
# 創(chuàng)建一個(gè)示例的合并 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9],
'D': [10, 11, 12]})
merged_df = pd.concat([df1, df2], axis=1)
# 按照指定順序給列排序
order = ['D', 'C', 'B', 'A']
merged_df = merged_df[order]
print(merged_df)輸出結(jié)果:
D C B A
0 10 7 4 1
1 11 8 5 2
2 12 9 6 3
在上述代碼中,我們使用df[order]的方式重新分配DataFrame給同名變量merged_df,以按照指定順序?qū)α羞M(jìn)行排序。這種方式將返回重新排序后的DataFrame,并將其分配給同名變量,從而實(shí)現(xiàn)了在原地修改列順序的效果。
對(duì)了,上面的代碼改一改,也闊以“篩選”哦,只要在order列表里刪除不要的列名就行。
df.sort_values(["column_name1", "column_name2"] , inplace=True, ascending=True)
總結(jié)
到此這篇關(guān)于pandas dataframe按照列名給列排序三種方法的文章就介紹到這了,更多相關(guān)pandas dataframe按列名排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- pandas中DataFrame排序及分組排序的實(shí)現(xiàn)示例
- pandas dataframe拼接后index重新排序方式
- Pandas DataFrame如何按照一列數(shù)據(jù)的特定順序進(jìn)行排序
- pandas索引與賦值操作、排序以及Series排序和DataFrame排序方式
- pandas.DataFrame Series排序的使用(sort_values,sort_index)
- Python數(shù)據(jù)分析Pandas?Dataframe排序操作
- Pandas實(shí)現(xiàn)DataFrame的簡(jiǎn)單運(yùn)算、統(tǒng)計(jì)與排序
- pandas 對(duì)series和dataframe進(jìn)行排序的實(shí)例
- Pandas 對(duì)Dataframe結(jié)構(gòu)排序的實(shí)現(xiàn)方法
- Pandas DataFrame中兩種排序函數(shù)的使用
相關(guān)文章
Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作示例
這篇文章主要介紹了Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作,結(jié)合實(shí)例形式分析了Python爬蟲爬取、解析電影票房數(shù)據(jù)并進(jìn)行圖表展示操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-03-03
Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出
這篇文章主要介紹了Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
Python datetime 模塊常用功能(輕松搞定時(shí)間處理)
Python的datetime模塊是處理日期時(shí)間的核心工具,包含date、time、datetime、timedelta四大類,用于獲取當(dāng)前時(shí)間、格式轉(zhuǎn)換、時(shí)間計(jì)算及時(shí)區(qū)處理,解決常見時(shí)間問(wèn)題,適用于日志記錄、數(shù)據(jù)處理等場(chǎng)景,本文介紹Python datetime 模塊常用功能,感興趣的朋友一起看看吧2025-07-07
Python的類實(shí)例屬性訪問(wèn)規(guī)則探討
這篇文章主要介紹了Python的類實(shí)例屬性訪問(wèn)規(guī)則,本文總結(jié)了一些對(duì)C++和Java程序員來(lái)說(shuō)不是很直觀的地方來(lái)說(shuō)明Python中的類實(shí)例屬性訪問(wèn),需要的朋友可以參考下2015-01-01
python標(biāo)準(zhǔn)算法實(shí)現(xiàn)數(shù)組全排列的方法
這篇文章主要介紹了python標(biāo)準(zhǔn)算法實(shí)現(xiàn)數(shù)組全排列的方法,實(shí)例分析了全排列的原理與Python實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-03-03
Python實(shí)現(xiàn)的選擇排序算法原理與用法實(shí)例分析
這篇文章主要介紹了Python實(shí)現(xiàn)的選擇排序算法,簡(jiǎn)單描述了選擇排序的原理,并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)與應(yīng)用選擇排序的具體操作技巧,需要的朋友可以參考下2017-11-11
python中turtle庫(kù)的簡(jiǎn)單使用教程
這篇文章主要給大家介紹了關(guān)于python中turtle庫(kù)的簡(jiǎn)單使用教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

