欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas+Numpy+Sklearn隨機取數(shù)的實現(xiàn)示例

 更新時間:2024年03月19日 15:05:46   作者:尤而小屋  
使用Python、pandas、numpy、scikit-learn來實現(xiàn)隨機打亂、抽取和切割數(shù)據(jù),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧

本文記錄的是如何使用Python、pandas、numpy、scikit-learn來實現(xiàn)隨機打亂、抽取和切割數(shù)據(jù)。主要的方法包含:

  • sample
  • shuffle
  • np.random.permutation
  • train_test_split

導入數(shù)據(jù)

In [1]:

import pandas as pd
import numpy as np
import random  # 隨機模塊

import plotly_express as px  # 可視化庫
import plotly.graph_objects as go

內置數(shù)據(jù)

采用的是plotly庫中內置的一份消費數(shù)據(jù)集:

In [2]:

df = px.data.tips()
df.head()

基本信息

In [3]:

df.shape

Out[3]:

(244, 7)

In [4]:

columns = df.columns
columns

Out[4]:

Index(['total_bill', 'tip', 'sex', 'smoker', 'day', 'time', 'size'], dtype='object')

sample實現(xiàn)

行方向

In [5]:

隨機抽取一行記錄:

df.sample()  # 隨機抽取一行記錄

隨機抽取多行數(shù)據(jù):

通過參數(shù)frac實現(xiàn)按照比例隨機抽樣:

df.sample(frac=0.05)

列方向

主要是選擇不同數(shù)量或者比例的屬性;整體的行數(shù)量是不變的

In [8]:

df.sample(3, axis=1)  # 在列屬性上抽取

shuffle實現(xiàn)

scikit-Learn的shuffle

In [9]:

from sklearn.utils import shuffle

In [10]:

shuffle(df)  # 打亂數(shù)據(jù)

random模塊的shuffle

In [11]:

length = list(range(len(df)))  # 原始的長度作為索引
length[:5]

Out[11]:

[0, 1, 2, 3, 4]

In [12]:

random.shuffle(length)  # 打亂索引

In [13]:

length[:5]

Out[13]:

[136, 35, 207, 127, 29]  # 打亂后的結果

In [14]:

df.iloc[length]   # 通過打亂后的索引獲取數(shù)據(jù)

numpy實現(xiàn)

In [15]:

# 先打亂每個索引
np.random.permutation(len(df))

Out[15]:

array([223,  98, 238,  17, 101,  26, 122, 212,  27,  79, 210, 147, 176,
        82, 164, 142, 141, 219,   6,  63, 185, 112, 158, 188, 242, 207,
        45,  55, 178, 150, 217,  32,  16, 160, 157, 234,  95, 174,  93,
        52,  57, 220, 216, 230,  35,  86, 125, 114, 100,  73,  83,  88,
        34,   7,  40, 115,  97, 165,  84,  18, 197, 151, 135, 121,  72,
       173, 228, 143, 227,   9, 183,  56,  23, 237, 136, 106, 133, 189,
       139,   0, 208,  74, 166,   4,  68,  12,  71,  85, 172, 138, 149,
       144, 232, 186,  99, 130,  41, 201, 204,  10, 167, 195,  66, 159,
       213,  87, 103, 117,  31, 211, 190,  24, 243, 127,  48, 218, 233,
       113,  81, 235, 229, 206,  96,  46, 222,  50, 156, 180, 214, 124,
       240, 140,  89, 225,   2, 120,  58, 169, 193,  39, 102, 104, 148,
       184, 170, 152, 153, 146, 179, 137, 129,  64,   3,  65, 128,  90,
       110,  14, 226, 181, 131, 203, 221,  80,  51,  94, 231,  44, 108,
        43, 145,  47,  75, 162, 163,  69, 126, 200,   1, 123,  37, 205,
       111,  25,  91,  11,  42,  67, 118, 196, 161,  28, 116, 105,  33,
        38,  78,  76, 224,  20, 202, 171, 177, 107,   8, 209, 239,  77,
       241, 154,   5, 198,  92,  61, 182,  36,  70,  22,  54, 187, 175,
       119, 215,  49, 134,  21,  60,  62, 168,  59, 155, 194, 109, 132,
        19, 199,  29, 191,  13,  30, 192, 236,  15,  53])

In [16]:

# 通過打亂后的索引來選擇數(shù)據(jù)

df.iloc[np.random.permutation(len(df))]

train_test_split實現(xiàn)

from sklearn.model_selection import train_test_split

data = []

for i in train_test_split(df, test_size=0.2):
    data.append(i)

In [18]:

第一份數(shù)據(jù)是80%的:

data[0]   # 80%的數(shù)據(jù)

剩余的20%的數(shù)據(jù):

到此這篇關于Pandas+Numpy+Sklearn隨機取數(shù)的實現(xiàn)示例的文章就介紹到這了,更多相關Pandas+Numpy+Sklearn隨機取數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python閉包實現(xiàn)計數(shù)器的方法

    Python閉包實現(xiàn)計數(shù)器的方法

    這篇文章主要介紹了Python閉包實現(xiàn)計數(shù)器的方法,分析了閉包的概念及實現(xiàn)計數(shù)器的相關技巧,需要的朋友可以參考下
    2015-05-05
  • 使用apiDoc實現(xiàn)python接口文檔編寫

    使用apiDoc實現(xiàn)python接口文檔編寫

    今天小編就為大家分享一篇使用apiDoc實現(xiàn)python接口文檔編寫,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python os.rename() 重命名目錄和文件的示例

    Python os.rename() 重命名目錄和文件的示例

    今天小編就為大家分享一篇Python os.rename() 重命名目錄和文件的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 原理解析為什么pydantic可變對象沒有隨著修改而變化

    原理解析為什么pydantic可變對象沒有隨著修改而變化

    這篇文章主要介紹了為什么pydantic可變對象沒有隨著修改而變化的原因解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • Python使用Pandas處理測試數(shù)據(jù)的方法

    Python使用Pandas處理測試數(shù)據(jù)的方法

    Pandas是一個功能極其強大的數(shù)據(jù)分析庫,可以高效地操作各種數(shù)據(jù)集,這篇文章主要介紹了Python自動化測試-使用Pandas來高效處理測試數(shù)據(jù),需要的朋友可以參考下
    2023-02-02
  • python3之Splash的具體使用

    python3之Splash的具體使用

    Splash是一個javascript渲染服務。本文主要介紹了python3之Splash的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python發(fā)布 Web應用的常見方法及詳細步驟

    Python發(fā)布 Web應用的常見方法及詳細步驟

    本文詳細介紹了Python發(fā)布Web應用的常見方法,包括本地開發(fā)、Nginx+Gunicorn部署、Heroku一鍵部署、Docker容器化部署和Serverless部署,并提供了每種方法的詳細步驟和優(yōu)缺點對比,需要的朋友可以參考下
    2025-03-03
  • python vertibi算法實現(xiàn)原理解析

    python vertibi算法實現(xiàn)原理解析

    這篇文章主要為大家介紹了python vertibi算法實現(xiàn)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • YOLOv8訓練自己的數(shù)據(jù)集(詳細教程)

    YOLOv8訓練自己的數(shù)據(jù)集(詳細教程)

    YOLO是一種基于圖像全局信息進行預測的目標檢測系統(tǒng),YOLOv8 是ultralytics公司在2023年1月10號開源的YOLOv5的下一個重大更新版本,這篇文章主要給大家介紹了關于YOLOv8訓練自己的數(shù)據(jù)集的相關資料,需要的朋友可以參考下
    2023-01-01
  • python用tkinter開發(fā)的掃雷游戲

    python用tkinter開發(fā)的掃雷游戲

    非常簡單的實現(xiàn),所以并沒有那么多繁瑣得步驟,對于這種簡單得h5游戲來說,用python可以很容易就設計出來。下面就來看看實現(xiàn)步驟
    2021-06-06

最新評論