亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python優化數據預處理方法是什么

發布時間:2021-11-22 11:46:38 來源:億速云 閱讀:140 作者:iii 欄目:開發技術

本篇內容主要講解“python優化數據預處理方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python優化數據預處理方法是什么”吧!

我們知道現實中的數據通常是雜亂無章的,需要大量的預處理才能使用。Pandas 是應用最廣泛的數據分析和處理庫之一,它提供了多種對原始數據進行預處理的方法。

import numpy as np
import pandas as pd
df = pd.DataFrame({
   "id": [100, 100, 101, 102, 103, 104, 105, 106],
   "A": [1, 2, 3, 4, 5, 2, np.nan, 5],
   "B": [45, 56, 48, 47, 62, 112, 54, 49],
   "C": [1.2, 1.4, 1.1, 1.8, np.nan, 1.4, 1.6, 1.5]
})
df

python優化數據預處理方法是什么

上述數據中 NaN 表示的缺失值,id 列包含重復的值,B 列中的 112 似乎是一個異常值。

這些就是現實數據中的一些典型問題。我們將創建一個管道來處理剛才描述的問題。對于每個任務,我們都需要一個函數。因此,首先是創建放置在管道中的函數。需要注意的是,管道中使用的函數需要將數據幀作為參數并返回數據幀。

第一個函數是處理缺少的值

def fill_missing_values(df):
   for col in df.select_dtypes(include= ["int","float"]).columns:
      val = df[col].mean()
      df[col].fillna(val, inplace=True)
   return df

我喜歡用列的平均值替換數字列中缺少的值,當然你也可以根據具體場景來定義。只要它將數據幀作為參數并返回數據幀,它就可以在管道中工作。

第二個函數是幫助我們刪除重復的值

def drop_duplicates(df, column_name):
   df = df.drop_duplicates(subset=column_name)
   return df

調用 Pandas 內置的 drop duplicates 函數,它可以消除給定列中的重復值。

最后一個函數是用于消除異常值

def remove_outliers(df, column_list):
   for col in column_list:
      avg = df[col].mean()
      std = df[col].std()
      low = avg - 2 * std
      high = avg + 2 * std
      df = df[df[col].between(low, high, inclusive=True)]
   return df

此函數的作用如下:

  • 需要一個數據幀和一列列表

  • 對于列表中的每一列,它計算平均值和標準偏差

  • 計算標準差,并使用下限平均值

  • 刪除下限和上限定義的范圍之外的值

與前面的函數一樣,你可以選擇自己的檢測異常值的方法。

創建管道

我們現在有3個函數來進行數據預處理的任務。接下來就是使用這些函數創建管道。

df_processed = (df.pipe(fill_missing_values).pipe(drop_duplicates, "id").pipe(remove_outliers, ["A","B"]))

此管道按給定順序執行函數。我們可以將參數和函數名一起傳遞給管道。

這里需要提到的一點是,管道中的一些函數修改了原始數據幀。因此,使用上述管道也將更新df。

解決此問題的一個方法是在管道中使用原始數據幀的副本。如果你不關心保持原始數據幀的原樣,那么可以在管道中使用它。

我將更新管道,如下所示:

my_df = df.copy()
df_processed = (my_df.pipe(fill_missing_values).pipe(drop_duplicates, "id").pipe(remove_outliers, ["A","B"]))

讓我們看一下原始數據幀和處理后的數據幀:

python優化數據預處理方法是什么

python優化數據預處理方法是什么

到此,相信大家對“python優化數據預處理方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泉州市| 基隆市| 南城县| 唐山市| 右玉县| 盐城市| 台州市| 和林格尔县| 三门峡市| 保靖县| 亳州市| 本溪| 乐陵市| 健康| 恩平市| 偏关县| 封开县| 米泉市| 禹城市| 茂名市| 井研县| 南投县| 松阳县| 文成县| 庆云县| 册亨县| 昌宁县| 凭祥市| 西林县| 蓝山县| 万载县| 诸城市| 安多县| 太康县| 抚松县| 乌拉特中旗| 托克托县| 惠安县| 屏东县| 安仁县| 云林县|