2020年9月12日 星期六

[ Pandas 文章收集 ] Pandas Dataframe 隨機 shuffle 小技巧

 Source From Here

Preface
在做 learning 的時候會需要先把 pandas 的 dataframe 的 order 打亂,有幾種方法可以做到,稍微紀錄一下,我個人是比較喜歡 sklearn 的方法啦…

HowTo
以下要在 jupyter notebook 或 python script 裡執行, assume 已經安裝 pandas 並 import

mlcc 裡的方法
  1. california_housing_dataframe = california_housing_dataframe.reindex(np.random.permutation(california_housing_dataframe.index))  
sample 法
  1. california_housing_dataframe = california_housing_dataframe.sample(frac=1).reset_index(drop=True)  
sklearn shuffle 法
  1. from sklearn.utils import shuffle  
  2. california_housing_dataframe = shuffle(california_housing_dataframe)  
Example:
>>> import pandas as pd
>>> df = pd.DataFrame({'name':['ken', 'john', 'mary'],'age':[21,37,18]}
>>> df
  1.    name  age  
  2. 0   ken   21  
  3. 1  john   37  
  4. 2  mary   18  

>>> import numpy as np
>>> df.reindex(np.random.permutation(df.index))
  1.    name  age  
  2. 2  mary   18  
  3. 0   ken   21  
  4. 1  john   37  

>>> df.sample(frac=1).reset_index(drop=True)
  1.    name  age  
  2. 0   ken   21  
  3. 1  mary   18  
  4. 2  john   37  

>>> from sklearn.utils import shuffle
>>> shuffle(df)
  1.    name  age  
  2. 0   ken   21  
  3. 1  john   37  
  4. 2  mary   18  

>>> df
  1.    name  age  
  2. 0   ken   21  
  3. 1  john   37  
  4. 2  mary   18  


沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...