Pandas DataFrame如何按照一列數(shù)據(jù)的特定順序進(jìn)行排序
DataFrame按照一列數(shù)據(jù)的特定順序進(jìn)行排序
原理
先把該列轉(zhuǎn)成category 格式,再弄一個(gè)排好序的列表,導(dǎo)入排序即可
dis3 = data3.groupby('distance_group')['case0'].count().reset_index() list_dis = ['gps incomplete', 'no move', 'in 5 meters', 'in 50 meters','in 500 meters','in 5 km','in 50 km','out 50 km'] dis3['distance_group'] = dis3['distance_group'].astype('category') dis3['distance_group'].cat.reorder_categories(list_dis, inplace=True) dis3.sort_values('distance_group',inplace = True)
Pandas庫DataFrame的排序 輸出特定某列
# -*- coding:utf-8 -*- import tushare as ts import pandas as pd df = pd.read_excel('test.xlsx') df1 = df.head(10) #dataframe按索引升序排列,默認(rèn)即是升序 print df1.sort_index() #dataframe按索引降序排列 print df1.sort_index(ascending=False) #第一行按升序排序,默認(rèn)即是升序 print df1.sort_index(axis=1) #第一行按降序排序 print df1.sort_index(axis=1, ascending=False) #以amount這一列的值進(jìn)行排序,默認(rèn)從小到大 print df1.sort_values(by='amount') #以amount這一列的值進(jìn)行排序,從大到小 #print df1.sort_values(by='amount', ascending=False)
1:取行的操作
house_info.loc[3:6]
類似于python的切片操作
2:取列操作
house_info['price']
這是讀取csv文件時(shí)默認(rèn)的第一行索引
3:取兩列
house_info[['price',tradetypename']]
取多個(gè)列也是同理的,注意里面是一個(gè)list的列表,不然會報(bào)錯(cuò)誤;
4:增加列
house_Info['adress_new']=list([.....])
跟字典的操作有點(diǎn)類似;
5:對某一列除以他的最大值
這樣可以得到一個(gè)0,1的數(shù)值范圍,也就是一個(gè)簡易的歸一化操作;
house_info['price']/house_info['price'].max()
6:對列進(jìn)行排序操作
house_info.sorted_values('price',inplace=True,ascending=True)
這里的inplace表示再排序的時(shí)候是否生成一個(gè)新的dataframe 結(jié)構(gòu),ascending=true表示升序,默認(rèn)也是升序;
還有一點(diǎn)應(yīng)該注意的是:對于缺省值,(Nan)排序的時(shí)候會把他排在末尾;
7:如何獲取缺省值
column_null = pd.isnull(column) column_is_null_true = column[column_null]
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python如何生成隨機(jī)n位數(shù)字與字母組合(創(chuàng)建隨機(jī))
這篇文章主要介紹了python如何生成隨機(jī)n位數(shù)字與字母組合(創(chuàng)建隨機(jī)),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08python編寫學(xué)生成績管理系統(tǒng)的邏輯結(jié)構(gòu)及功能實(shí)現(xiàn)
這篇文章主要為大家介紹了python編寫學(xué)生成績管理系統(tǒng)實(shí)現(xiàn)八個(gè)功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Python+Matplotlib實(shí)現(xiàn)繪制三維折線圖
立體圖視覺上層次分明色彩鮮艷,具有很強(qiáng)的視覺沖擊力,讓觀看的人駐景時(shí)間長,留下深刻的印象。今天我們就通過這篇文章來了解如何用python中的matplotlib庫繪制漂亮的三維折線圖吧2023-03-03python中np.random.permutation函數(shù)實(shí)例詳解
np.random.permutation是numpy中的一個(gè)函數(shù),它可以將一個(gè)數(shù)組中的元素隨機(jī)打亂,返回一個(gè)打亂后的新數(shù)組,下面這篇文章主要給大家介紹了關(guān)于python中np.random.permutation函數(shù)的相關(guān)資料,需要的朋友可以參考下2023-04-04python 利用opencv實(shí)現(xiàn)圖像網(wǎng)絡(luò)傳輸
這篇文章主要介紹了python 如何利用opencv實(shí)現(xiàn)圖像網(wǎng)絡(luò)傳輸,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11