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

使用Numpy對特征中的異常值進行替換及條件替換方式

 更新時間:2020年06月08日 09:10:48   作者:木頭VS星星  
這篇文章主要介紹了使用Numpy對特征中的異常值進行替換及條件替換方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

原始數(shù)據(jù)為Excel文件,由傳感器獲得,通過Pyhton xlrd模塊讀入,讀入后為數(shù)組形式,由于其存在部分異常值和缺失值,所以便利用Numpy對其中的異常值進行替換或條件替換。

1. 將'nan'替換為給定值

import numpy as np
 
data = np.array([['nan', 1, 2, 3, 4], # 數(shù)據(jù)類型為字符串型
        [10, 15, 20, 25, 'nan'],
        ['nan', 5, 8, 10, 20]])
print(data)
# [['nan' '1' '2' '3' '4']
# ['10' '15' '20' '25' 'nan']
# ['nan' '5' '8' '10' '20']]
 
data[data == 'nan'] = 100 # 將numpy中為'nan'的項替換為 100
print(data)
# [['100' '1' '2' '3' '4']
# ['10' '15' '20' '25' '100']
# ['100' '5' '8' '10' '20']]
 
data = data.astype(float) # 將數(shù)據(jù)由字符型轉換為浮點型
print(data)
# [[100.  1.  2.  3.  4.]
# [ 10. 15. 20. 25. 100.]
# [100.  5.  8. 10. 20.]]

2. 按列進行條件替換

當利用'3σ準則'或者箱型圖進行異常值判斷時,通常需要對 > upper 或 < lower的值進行處理,這時就需要按列進行條件替換了。

print(data)
# [[100.  1.  2.  3.  4.]
# [ 10. 15. 20. 25. 100.]
# [100.  5.  8. 10. 20.]]
 
data[:, 1][data[:, 1] < 5] = 5 # 對第2列小于 5 的替換為5
print(data)
# [[100.  5.  2.  3.  4.]
# [ 10. 15. 20. 25. 100.]
# [100.  5.  8. 10. 20.]]
 
data[:, 2][data[:, 2] > 15] = 10 # 對第3列大于 15 的替換為10
print(data)
# [[100.  5.  2.  3.  4.]
# [ 10. 15. 10. 25. 100.]
# [100.  5.  8. 10. 20.]]

補充知識:Python之dataframe修改異常值—按行判斷值是否大于平均值的指定倍數(shù),如果是則用均值替換

如下所示:

import pandas as pd

data = {'hah':[1,2,9],
    '數(shù)量':[3,2,5],
    '價格':[10,9,8]}
df = pd.DataFrame(data)
df

import numpy as np
def panduan(x):
  x_mean = np.mean(x)
  print(x_mean)
  for i in x.index:
    if x[i] > x_mean*2:
      x[i] = x_mean
#     print(i)   
  return x

df = df.apply(lambda x:panduan(x),axis=1) 

以上這篇使用Numpy對特征中的異常值進行替換及條件替換方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python并行計算庫Joblib高效使用指北

    Python并行計算庫Joblib高效使用指北

    Joblib是用于高效并行計算的Python開源庫,其提供了簡單易用的內存映射和并行計算的工具,以將任務分發(fā)到多個工作進程中,這篇文章主要介紹了Python并行計算庫Joblib使用指北,需要的朋友可以參考下
    2024-08-08
  • Python中下劃線的使用方法

    Python中下劃線的使用方法

    這篇文章主要介紹了Python中下劃線的使用方法,是為python編程學習中的基本知識,需要的朋友可以參考下
    2015-03-03
  • Python 網(wǎng)頁解析HTMLParse的實例詳解

    Python 網(wǎng)頁解析HTMLParse的實例詳解

    這篇文章主要介紹了Python 網(wǎng)頁解析HTMLParse的實例詳解的相關資料,python里提供了一個簡單的解析模塊HTMLParser類,使用起來也是比較簡單的,解析語法沒有用到XPath類似的簡潔模式,需要的朋友可以參考下
    2017-08-08
  • Python切片索引用法示例

    Python切片索引用法示例

    這篇文章主要介紹了Python切片索引用法,結合實例形式詳細分析了Python切片索引的常見使用方法與操作注意事項,需要的朋友可以參考下
    2018-05-05
  • Face++ API實現(xiàn)手勢識別系統(tǒng)設計

    Face++ API實現(xiàn)手勢識別系統(tǒng)設計

    這篇文章主要為大家詳細介紹了Face++ API實現(xiàn)手勢識別系統(tǒng)設計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Selenium執(zhí)行完畢未關閉chromedriver/geckodriver進程的解決辦法(java版+python版)

    Selenium執(zhí)行完畢未關閉chromedriver/geckodriver進程的解決辦法(java版+python版

    這篇文章主要介紹了Selenium執(zhí)行完畢未關閉chromedriver/geckodriver進程的解決辦法(java版+python版),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • python函數(shù)局部變量、全局變量、遞歸知識點總結

    python函數(shù)局部變量、全局變量、遞歸知識點總結

    在本篇文章里小編給大家整理了關于python函數(shù)局部變量、全局變量、遞歸知識點,有興趣的朋友們學習參考下。
    2019-11-11
  • python2 與 pyhton3的輸入語句寫法小結

    python2 與 pyhton3的輸入語句寫法小結

    這篇文章主要給大家介紹了關于python2 與 pyhton3的輸入語句寫法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • Flask自定義序列化超詳細講解

    Flask自定義序列化超詳細講解

    序列化其實就是將數(shù)據(jù)轉化成一種可逆的數(shù)據(jù)結構,自然,逆向的過程就叫做反序列化。php將數(shù)據(jù)序列化和反序列化會用到兩個函數(shù):serialize 將對象格式化成有序的字符串、unserialize 將字符串還原成原來的對象
    2022-11-11
  • Python執(zhí)行Shell命令的六種方法

    Python執(zhí)行Shell命令的六種方法

    在 Python 編程中,有時我們需要執(zhí)行一些 shell 命令來完成特定的任務,比如文件操作、系統(tǒng)調用等,Python 提供了多種內建的方法來執(zhí)行這些命令,每種方法都有其適用場景和特點,本文給大家介紹了Python執(zhí)行Shell命令的六種方法,需要的朋友可以參考下
    2024-09-09

最新評論