舉栗子
test=pd.DataFrame({'a':[1,2,3,4,5,11,22],'b':[6,7,8,9,10,12,33],'c':['x','z','y','z','x','y','z']})
1 組間排序
組間排序輸出顯示的是“c”列中各個類別爲一個數值的形式。
test['c'].rank(ascending=0,method='dense')
2 類別排序
根據某一列的類別進行按照類別歸類排列。
test.sort_values(by="c",inplace=True)
3 組內排序
組內排序rank與分組groupby組合使用,輸出類別分組後,在各類別中進行排序
test['sort']=test['a'].groupby(test['c']).rank(method='dense',ascending=1)
4 抽取各個類別的前2行數據
test[test['sort'].apply(lambda x:x<3)]
5 隨機抽樣各個類別的百分比數據
test.groupby(test['c']).apply(lambda x:x.sample(frac=0.5))
6 使用隨機數抽取數據
#導包
import pandas
import numpy as np
from pandas import read_csv
df=read_csv(r"C:\Users\JackPi\Desktop\pandas\data\data5.csv")
#獲取隨機值
r=np.random.randint(0,10,3)
#對行進行切片
newDf=df.loc[r,:]
原文鏈接:https://blog.csdn.net/meiqi0538/article/details/82557894