Dataframe的行名及列名排序問(wèn)題
Dataframe的行名及列名排序
pandas是Python進(jìn)行數(shù)據(jù)處理中強(qiáng)大的數(shù)據(jù)包,在進(jìn)行數(shù)據(jù)處理的時(shí)候時(shí)常會(huì)用到關(guān)于Dataframe格式數(shù)據(jù)的一些調(diào)整和排序,下面是關(guān)于行列操作的一些總結(jié):
列的重命名
在數(shù)據(jù)處理的時(shí)有時(shí)會(huì)設(shè)計(jì)的列名與想用的列名不匹配,可以使用一下代碼進(jìn)行header的重命名:
df = pd.read_csv(path, header=0) print(df) close date high low money open time volume 0 66.48 2020-01-02 66.48 65.85 5722474 66.01 09:31 866 1 66.30 2020-01-02 66.48 66.18 2646681 66.22 09:32 399 2 66.37 2020-01-02 66.39 66.16 1279115 66.17 09:33 193 3 66.45 2020-01-02 66.45 66.37 4130439 66.39 09:34 622 4 66.28 2020-01-02 66.48 66.28 2149783 66.45 09:35 324 ... ... ... ... ... ... ... ... ... 5755 84.17 2020-02-27 84.22 84.12 3081344 84.12 14:56 366 5756 84.17 2020-02-27 84.19 84.14 2263360 84.17 14:57 269 5757 84.14 2020-02-27 84.14 84.14 16896 84.14 14:58 2 5758 84.14 2020-02-27 84.14 84.14 0 84.14 14:59 0 5759 84.09 2020-02-27 84.09 84.09 7182208 84.09 15:00 854 order = ['date', 'time', 'open', 'high', 'low', 'close', 'volume', 'money'] #對(duì)于列進(jìn)行重排序 df = df[order] print(df) date time open high low close volume money 0 2020-01-02 09:31 66.01 66.48 65.85 66.48 866 5722474 1 2020-01-02 09:32 66.22 66.48 66.18 66.30 399 2646681 2 2020-01-02 09:33 66.17 66.39 66.16 66.37 193 1279115 3 2020-01-02 09:34 66.39 66.45 66.37 66.45 622 4130439 4 2020-01-02 09:35 66.45 66.48 66.28 66.28 324 2149783 ... ... ... ... ... ... ... ... ... 5755 2020-02-27 14:56 84.12 84.22 84.12 84.17 366 3081344 5756 2020-02-27 14:57 84.17 84.19 84.14 84.17 269 2263360 5757 2020-02-27 14:58 84.14 84.14 84.14 84.14 2 16896 5758 2020-02-27 14:59 84.14 84.14 84.14 84.14 0 0 5759 2020-02-27 15:00 84.09 84.09 84.09 84.09 854 7182208
這樣就完成了列名的排序
修改列名
有的時(shí)候設(shè)置的列名不規(guī)范導(dǎo)致格式不一致,可以通過(guò)下列方法直接對(duì)每一列的列名進(jìn)行修改
import pandas as pd df = pd.read_csv('123.csv',header = 0) df.columns =['date', 'timetemp', 'open', 'high', 'low', 'close', 'volume', 'money'] print(df)
行的排序
可以按照某一列的值對(duì)于Dataframe進(jìn)行行的排序得到自己想要的排列順序
import pandas as pd frame = pd.read_csv('321.csv',header = 0) frame = frame.sort_values('date') frame.reset_index(drop=True, inplace=True)
DataFrame格式數(shù)據(jù)排序
簡(jiǎn)單說(shuō)關(guān)于排序若只需要按索引、列名排序,如下(True從小到大,F(xiàn)alse反之)
#.sort_index(axis = 0,ascending = True)#axis: 軸方向,默認(rèn)0#ascending: 默認(rèn)True從小到大,Fasle從大到小#如import pandas as pda = [[1,2,3],[2,3,4],[4,6,9],[3,1,5]]b = pd.DataFrame(a, columns = ['b','c','a'])b = b.set_index('b')print(b,'\n-----------')d = b.sort_index(axis = 0,ascending = True)print(d)
axis決定是按行名還是列名排序,
舉例:
- 按行axis = 0
- 按列axis = 1
若需要指定按照某一行/列大小排序
#.sort_values(by, axis = 0,ascending = True) #如`在這里插入代碼片` import pandas as pd a = [[1,2,3],[2,3,4],[4,6,9],[3,5,1]] b = pd.DataFrame(a, columns = ['b','c','a']) b = b.set_index('b') print(b,'\n-----------') # c = b.sort_values(by = 3,axis = 1,ascending = True) c = b.sort_values(by = 'c',axis = 0,ascending = True) print(c) # d = b.sort_index(axis = 1,ascending = True) # print(d)
- 按某一列
- 按某一行
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用django-suit為django 1.7 admin后臺(tái)添加模板
前面我們介紹了Django-grappelli給admin添加模板,可是使用中發(fā)現(xiàn)inline有點(diǎn)問(wèn)題,所以就換了今天我們要談的Django-suit,貌似要稍微好一些2014-11-11Python編程新標(biāo)準(zhǔn)學(xué)會(huì)十項(xiàng)好習(xí)慣提升編碼質(zhì)量
這篇文章主要為大家介紹了Python編程新標(biāo)準(zhǔn)學(xué)會(huì)十項(xiàng)好習(xí)慣提升編碼質(zhì)量,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Selenium 配置啟動(dòng)項(xiàng)參數(shù)的方法
這篇文章主要介紹了Selenium 配置啟動(dòng)項(xiàng)參數(shù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12python 實(shí)現(xiàn)德洛內(nèi)三角剖分的操作
這篇文章主要介紹了python 實(shí)現(xiàn)德洛內(nèi)三角剖分的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04在VScode中配置Python開(kāi)發(fā)環(huán)境的超詳細(xì)指南
在使用VSCode編寫(xiě)Python代碼前,我們需要先配置Python環(huán)境,這篇文章主要給大家介紹了關(guān)于在VScode中配置Python開(kāi)發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2023-12-12Python中的反射知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于Python中的反射知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-11-11如何修復(fù)使用 Python ORM 工具 SQLAlchemy 時(shí)的常見(jiàn)陷阱
SQLAlchemy 是一個(gè) Python ORM 工具包,它提供使用 Python 訪問(wèn) SQL 數(shù)據(jù)庫(kù)的功能。這篇文章主要介紹了如何修復(fù)使用 Python ORM 工具 SQLAlchemy 時(shí)的常見(jiàn)陷阱,需要的朋友可以參考下2019-11-11使用python實(shí)現(xiàn)壓縮PDF文件大小的方法
壓縮 PDF 文件能有效減小文件大小并提高文件傳輸?shù)男?同時(shí)還能節(jié)省計(jì)算機(jī)存儲(chǔ)空間,除了使用一些專(zhuān)業(yè)工具對(duì)PDF文件進(jìn)行壓縮,我們還可以通過(guò) Python 來(lái)執(zhí)行該操作,本文將分享一個(gè)簡(jiǎn)單有效的使用 Python 壓縮 PDF 文件的方法,需要的朋友可以參考下2024-06-06Python判斷文件和字符串編碼類(lèi)型的實(shí)例
下面小編就為大家分享一篇Python判斷文件和字符串編碼類(lèi)型的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Python實(shí)現(xiàn)郵件自動(dòng)下載的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)郵件自動(dòng)下載以及附件解析功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-07-07