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

Python中應(yīng)用Winsorize縮尾處理的操作經(jīng)驗(yàn)

 更新時(shí)間:2022年07月01日 09:39:53   作者:啥都不懂的鱷魚  
縮尾處理相當(dāng)于對數(shù)據(jù)進(jìn)行掐頭(尾)去尾,然后再按照一定的方法填補(bǔ)被掐掉的數(shù)據(jù),下面這篇文章主要給給大家介紹了關(guān)于Python中應(yīng)用Winsorize縮尾處理的相關(guān)資料,需要的朋友可以參考下

最近搞數(shù)據(jù)時(shí)發(fā)現(xiàn),縮尾時(shí)本來是空值或者無效值的地方被填補(bǔ)了數(shù)據(jù)。傳統(tǒng)的研究會將空值剔除后再進(jìn)行縮尾,但一些不需要剔除空值的數(shù)據(jù)集需要剔除極端值,因而不能省略縮尾。結(jié)合自己的操作經(jīng)驗(yàn)做些記錄:

以保存在Excel中的數(shù)據(jù)為例:

from scipy.stats.mstats import winsorize
import pandas as pd
df = pd.read_excel('Excel.xlsx', engine='openpyxl', header=0)
df_list=["a","b","c"]#需要進(jìn)行縮尾的列名

1:直接應(yīng)用Winsorize,不考慮空值和無效值,縮尾結(jié)果可能導(dǎo)致部分空值被填充數(shù)據(jù)

for i in df_list():
    df[i]=winsorize(df[i],limits=[0.01, 0.01])#對指定列中的連續(xù)數(shù)據(jù)進(jìn)行1%和99%的縮尾(Winsorize)處理

2.1:屏蔽空值和無效值,僅對其他值進(jìn)行Winsorize處理,縮尾結(jié)果不改變原來的空值和無效值

for i in df_list():
    df[i]=np.where(df[i].isnull(), np.nan, winsorize(np.ma.masked_invalid(df[i]),limits=(0.01,0.01)))
#np.where(condition, x, y),滿足condition是x,否則y
#此處判斷是否空值,是的話為空,否的話進(jìn)行屏蔽空值和無效值的1%和99%縮尾處理

2.2:winsorize提供的參數(shù),但這個(gè)方法我沒有成功…僅供參考

for i in df_list():
    df[i]=winsorize(df[i],limits=[0.01, 0.01], nan_policy='omit')

winsorize官方文檔

3:屏蔽空值和無效值,對所有值進(jìn)行Winsorize處理,縮尾結(jié)果不改變原來的空值和無效值,與方法2的區(qū)別在于方法3沒有改變需要縮尾的數(shù)據(jù)長度

for i in df_list():
    mask = df[i].notna()
    df.loc[mask,i] = winsorize(df[i].loc[mask],limits=[0.01, 0.01]) 
    #這個(gè)mask就是一個(gè)bool index,指示哪些位置上是nan
    #比如一列數(shù)據(jù)是[1, NaN, 2],如果用df['A'].isnan()得到的就是一個(gè)[False, True, False]的數(shù)組 
    #這個(gè)數(shù)組就是所謂的mask,它可以把dataframe中的特定數(shù)據(jù)挑出來

我碰到后續(xù)描述性統(tǒng)計(jì)有負(fù)無窮值的問題,因而將其替換為空值

#如果需要將無窮值換為空值
df=df.replace(-np.Inf,np.NaN) 

(在此鳴謝不厭其煩給我提供參考的張老師、李老師、孫老師?。?/p>

參考文章:

1.Winsorize的正確方法但在Python中忽略nan

2.有關(guān)numpy.ma.masked_invalid的用法

3.Python數(shù)據(jù)分析 - 縮尾處理

總結(jié)

到此這篇關(guān)于Python中應(yīng)用Winsorize縮尾處理的文章就介紹到這了,更多相關(guān)Python應(yīng)用Winsorize縮尾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)爬取某站視頻彈幕并繪制詞云圖

    Python實(shí)現(xiàn)爬取某站視頻彈幕并繪制詞云圖

    這篇文章主要介紹了利用Python爬取某站的視頻彈幕,并將其繪制成詞云圖,文中的示例代碼講解詳細(xì),對我學(xué)習(xí)Python爬蟲有一定的幫助,需要的朋友可以參考一下
    2021-12-12
  • Python判斷文件和文件夾是否存在的方法

    Python判斷文件和文件夾是否存在的方法

    這篇文章主要介紹了Python判斷文件和文件夾是否存在的方法,本文還講解了判斷是否為文件或者目錄的方法、os.path.lexist的作用、FTP中判斷文件或目錄是否存在等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • 基于Python實(shí)現(xiàn)西西成語接龍小助手

    基于Python實(shí)現(xiàn)西西成語接龍小助手

    成語接龍是中華民族傳統(tǒng)的文字游戲。本文將用Python制作一個(gè)簡單的成語接龍小程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-08-08
  • Python自定義簡單圖軸簡單實(shí)例

    Python自定義簡單圖軸簡單實(shí)例

    這篇文章主要介紹了Python自定義簡單圖軸簡單實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • PyQt5每天必學(xué)之切換按鈕

    PyQt5每天必學(xué)之切換按鈕

    這篇文章主要為大家詳細(xì)介紹了PyQt5每天必學(xué)之切換按鈕的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python3的數(shù)據(jù)類型及數(shù)據(jù)類型轉(zhuǎn)換實(shí)例詳解

    python3的數(shù)據(jù)類型及數(shù)據(jù)類型轉(zhuǎn)換實(shí)例詳解

    在本文里小編給大家分享的是關(guān)于python3的數(shù)據(jù)類型及數(shù)據(jù)類型轉(zhuǎn)換以及相關(guān)實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • Python入門之布爾值詳解

    Python入門之布爾值詳解

    Python中布爾值(Booleans)表示以下兩個(gè)值之一:True或False。本文主要介紹布爾值(Booleans)的使用,和使用時(shí)需要注意的地方,需要的可以參考一下
    2023-02-02
  • 詳解Django+Uwsgi+Nginx 實(shí)現(xiàn)生產(chǎn)環(huán)境部署

    詳解Django+Uwsgi+Nginx 實(shí)現(xiàn)生產(chǎn)環(huán)境部署

    這篇文章主要介紹了詳解Django+Uwsgi+Nginx 實(shí)現(xiàn)生產(chǎn)環(huán)境部署,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • pandas多層索引的創(chuàng)建和取值以及排序的實(shí)現(xiàn)

    pandas多層索引的創(chuàng)建和取值以及排序的實(shí)現(xiàn)

    這篇文章主要介紹了pandas多層索引的創(chuàng)建和取值以及排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 簡單了解django處理跨域請求最佳解決方案

    簡單了解django處理跨域請求最佳解決方案

    這篇文章主要介紹了簡單了解django處理跨域請求最佳解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評論