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的列表,不然會(huì)報(bào)錯(cuò)誤;
4:增加列
house_Info['adress_new']=list([.....])
跟字典的操作有點(diǎn)類似;
5:對(duì)某一列除以他的最大值
這樣可以得到一個(gè)0,1的數(shù)值范圍,也就是一個(gè)簡易的歸一化操作;
house_info['price']/house_info['price'].max()
6:對(duì)列進(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)該注意的是:對(duì)于缺省值,(Nan)排序的時(shí)候會(huì)把他排在末尾;
7:如何獲取缺省值
column_null = pd.isnull(column) column_is_null_true = column[column_null]
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- pandas中DataFrame排序及分組排序的實(shí)現(xiàn)示例
- pandas dataframe拼接后index重新排序方式
- pandas索引與賦值操作、排序以及Series排序和DataFrame排序方式
- pandas?dataframe按照列名給列排序三種方法
- pandas.DataFrame Series排序的使用(sort_values,sort_index)
- Python數(shù)據(jù)分析Pandas?Dataframe排序操作
- Pandas實(shí)現(xiàn)DataFrame的簡單運(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利用Selenium進(jìn)行網(wǎng)頁自動(dòng)化與動(dòng)態(tài)內(nèi)容抓取操作
Selenium是一個(gè)自動(dòng)化測試工具,它允許開發(fā)者模擬用戶的瀏覽器行為,執(zhí)行各種交互操作,下面就跟隨小編一起了解下如何使用Python和Selenium進(jìn)行網(wǎng)頁自動(dòng)化與動(dòng)態(tài)內(nèi)容抓取吧2025-03-03
Python處理數(shù)據(jù)之匹配兩個(gè)Excel文件數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Python處理數(shù)據(jù)之匹配兩個(gè)Excel文件數(shù)據(jù)的實(shí)現(xiàn)方法,可以使用Python的Pandas庫來實(shí)現(xiàn)兩層循環(huán)匹配兩個(gè)Excel文件,需要的朋友可以參考下2023-09-09
python+pytest接口自動(dòng)化之日志管理模塊loguru簡介
python中有一個(gè)用起來非常簡便的第三方日志管理模塊--loguru,不僅可以避免logging的繁瑣配置,而且可以很簡單地避免在logging中多進(jìn)程多線程記錄日志時(shí)出現(xiàn)的問題,甚至還可以自定義控制臺(tái)輸出的日志顏色,接下來我們來學(xué)習(xí)怎么使用loguru模塊進(jìn)行日志管理2022-05-05
PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用
這篇文章主要介紹了PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
python翻譯軟件實(shí)現(xiàn)代碼(使用google api完成)
這篇文章主要介紹了python結(jié)合google api完成的翻譯軟件實(shí)現(xiàn)代碼,大家參考使用2013-11-11
Python利用 SVM 算法實(shí)現(xiàn)識(shí)別手寫數(shù)字
支持向量機(jī) (Support Vector Machine, SVM) 是一種監(jiān)督學(xué)習(xí)技術(shù),它通過根據(jù)指定的類對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行最佳分離,從而在高維空間中構(gòu)建一個(gè)或一組超平面。本文將介紹通過SVM算法實(shí)現(xiàn)手寫數(shù)字的識(shí)別,需要的可以了解一下2021-12-12

