本文首發(fā)于微信公眾號(hào)“Python數(shù)據(jù)之道”(ID:PyDataRoad)

前言

寫這篇文章的起由是有一天微信上一位朋友問(wèn)到一個(gè)問(wèn)題,問(wèn)題大體意思概述如下:

現(xiàn)在有一個(gè)pandas的Series和一個(gè)python的list,想讓Series按指定的list進(jìn)行排序,如何實(shí)現(xiàn)?

這個(gè)問(wèn)題的需求用流程圖描述如下:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

我思考了一下,這個(gè)問(wèn)題解決的核心是引入pandas的數(shù)據(jù)類型“category”,從而進(jìn)行排序。

在具體的分析過(guò)程中,先將pandas的Series轉(zhuǎn)換成為DataFrame,然后設(shè)置數(shù)據(jù)類型,再進(jìn)行排序。思路用流程圖表示如下:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

分析過(guò)程

  • 引入pandas庫(kù)

import pandas as pd
  • 構(gòu)造Series數(shù)據(jù)

s =&n