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

Pandas處理DataFrame稀疏數據及維度不匹配數據分析詳解

 更新時間:2023年02月16日 14:13:42   作者:fanstuck  
這篇文章主要為大家介紹了Pandas處理DataFrame稀疏數據及維度不匹配數據分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

眾所周知我們獲取的第一手數據往往都是比較雜亂無章的,這些文件保存一般都是csv文件或者是excel文件,讀取轉換成DataFrame還有可能因為缺少列索引或者是各類數據維度不相等而報錯。讀取成功為DataFrame仍然有很多問題存在,比如列索引缺失,眾多NaN數據以及合并計算問題等,這篇文章將具體解決此場景下的內容。

一、索引缺失

讀取缺失量較大的數據時,索引并不是能完全覆蓋到的。存在著列索引缺失的問題,這是一個比較頭疼的問題,使得我們后面的數據特征無法使用:

這是針對機器學習的數據集特征,面對這種情況我們可以通過重新設置索引的方式,倘若特征之間是有規(guī)律的話,例如上表5列以后的數據每列的列索引都是features的話那么我們可以通過reindex的方法給它補全索引:

def deal_defect(df,n):
    df_defect=df.iloc[:,n:]
    m=4
    list_columns=[]
    for i in range(df_defect.shape[1]):
        list_columns.append('features%d'%m)
        m=m+1
    df_defect.columns=list_columns
    df_all=pd.concat([df.iloc[:,:n],df_defect],axis=1)
    return df_all
deal_defect(df,5)

二、負值取正

若是要對整個DataFrame的值都取負數,并不需要挨個列都轉再使用abs函數,讀取的DataFrame一般都是object類型不能直接使用abs,需要使用astype將dataframe類型轉換:

當數據中帶有NaN時是不能直接轉int的:

df_fill=df.astype('int')
IntCastingNaNError: Cannot convert non-finite values (NA or inf) to integer

但是我們轉換為float的時候原始數據集又出現了后面帶.0的情況:

這里我們要使用到fillna函數,先轉為float取絕對值之后再填充為空值之后替換為-1,這樣一來-1的位置就是缺失值的位置,以便于我們識別:

def fill_conver(df):
    df_fill=df.astype('float')
    df_fill=abs(df_fill)
    df_fill=df_fill.fillna('')
    df_fill=df_fill.replace('',-1)
    df_fill=df_fill.astype(int)
    return df_fill
fill_conver(df)

三、提取數值

既然有很多空值我們可以采取側缺將低于一定比例的數據去除,這部分在上篇缺失值處理文章已經談到這里不再說明。我們最常遇到的情況就是需要處理空值只提去出相應標簽下的數值,這里涉及到列索引的選擇和合并操作。例如我們只需要特征列偶數列的數值:

def get_features(df):
    list_all_link=[]
    df=df.iloc[:,2:]
    for i in range(df.shape[0]):
        #flag為控制外層循環(huán)開關
        flag=1
        for j in range(df.shape[1]):
            if(flag==0):
                break
            if(j%2==0):
                if(df.iloc[i:i+1,j].item()==-1):
                    flag=0
                else:
                    list_all_link.append(list(df.iloc[i:i+1,j]))
    return list_all_link
get_features(df)

四、提取唯一值

如果我們需要只需要取到的數列中的唯一值,需要對數據集進行處理,可以使用ravel()和unique()函數。此時我們還需要注意刪掉-1:

def unique_df(df):
    df_features=df.iloc[:,2:]
    unique_series=pd.Series(pd.Series(df_features.iloc[:,[i%2==0 for i in range(len(df_features.columns))]].values.ravel()).unique())
    list_series=list(unique_series.values)
    return list_series
unique_list=unique_df(df)
unique_list.remove(-1)
unique_list

以上就是Pandas處理DataFrame稀疏數據及維度不匹配數據分析詳解的詳細內容,更多關于Pandas DataFrame數據分析的資料請關注腳本之家其它相關文章!

相關文章

  • 利用Python如何生成隨機密碼

    利用Python如何生成隨機密碼

    這篇文章主要為大家詳細介紹了利用Python如何生成隨機密碼的相關方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Python一步步帶你操作Excel

    Python一步步帶你操作Excel

    這篇文章主要介紹了Python編寫命令行腳本操作excel的方法,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • Python對數據進行插值和下采樣的方法

    Python對數據進行插值和下采樣的方法

    今天小編就為大家分享一篇Python對數據進行插值和下采樣的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 盤點Python?爬蟲中的常見加密算法

    盤點Python?爬蟲中的常見加密算法

    這篇文章主要介紹了盤點Python?爬蟲中的常見加密算法,加密即Encryption指將明文數據變換為密文的過程,解密即Decryption指加密的逆過程,即由密文恢復出原明文的過程
    2022-07-07
  • django創(chuàng)建簡單的頁面響應實例教程

    django創(chuàng)建簡單的頁面響應實例教程

    這篇文章主要給大家介紹了關于django如何創(chuàng)建簡單的頁面響應的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用django具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • pytorch中節(jié)約顯卡內存的方法和技巧

    pytorch中節(jié)約顯卡內存的方法和技巧

    顯存不足是很多人感到頭疼的問題,畢竟能擁有大量顯存的實驗室還是少數,而現在的模型已經越跑越大,模型參數量和數據集也越來越大,所以這篇文章給大家總結了一些pytorch中節(jié)約顯卡內存的方法和技巧,需要的朋友可以參考下
    2023-11-11
  • python實現手機銷售管理系統(tǒng)

    python實現手機銷售管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python實現手機銷售管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python timer定時器兩種常用方法解析

    Python timer定時器兩種常用方法解析

    這篇文章主要介紹了Python timer定時器兩種常用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python實現ATM系統(tǒng)

    Python實現ATM系統(tǒng)

    這篇文章主要為大家詳細介紹了Python實現ATM系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 如何遍歷python中的對象屬性

    如何遍歷python中的對象屬性

    這篇文章主要介紹了如何遍歷python中的對象屬性問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論