• <tt id="0muie"><acronym id="0muie"></acronym></tt>
  • 系統城裝機大師 - 固鎮縣祥瑞電腦科技銷售部宣傳站!

    當前位置:首頁 > 腳本中心 > python > 詳細頁面

    python數據分析之如何刪除value=0的行

    時間:2022-12-10來源:www.djmaza-info.com作者:電腦系統城

    前言

    拿到一堆數據,首先我們是要對其進行數據的預處理,其中數據存在一些值為空或者是我們不想要的數據,對其進行刪除或者是修改數據值。下面是對于該例子進行刪除和修改:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> df
    out[]:
       salary   age   gender
    0   10000    23    
    1   15000    34    
    2   23000    21    
    3     0      20    
    4   28500     0    
    5   35000    37    

     

    一、數據處理

    1. df.replace()方法:將“男”用1來表示,“女孩”用0來表示。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> df.replace(["男", "女"], [1, 0])
    out[]:
       salary   age   gender
    0   10000    23     1
    1   15000    34     0
    2   23000    21     1
    3     0      20     0
    4   28500     0     1
    5   35000    37     1

    2.  pd.DataFrame.loc()方法來指定列中數據為0的行:

    1
    2
    3
    4
    5
    6
    7
    8
    >>> df = df.loc[~((df['salary'] == 0) | (df['age'] == 0))]
    >>> df
    out[]:
       salary   age   gender
    0   10000    23     1
    1   15000    34     0
    2   23000    21     1
    3   35000    37     1

    還可以用: 

    df = df.loc[df['salary'] * df['age'] != 0]

     

    二、刪除某行方法的使用

    1.刪除全行都是為0的行

    代碼如下:

    1 >>> df.loc[~(df==0).all(axis=1)]

     看起來比較對稱可以這樣寫:

    1 >>> df.loc[(df!=0).any(axis=1)]

    使用dropna方法來刪除:

    1 >>> new_df = df[df.loc[:]!=0].dropna()

    2.用nan替換零,然后刪除所有行中數據都為nan的行。之后,將nan替換為零。

    代碼如下:

    1
    2
    3
    4
    import numpy as np
    df = df.replace(0, np.nan)# 把0替換成nan
    df = df.dropna(how='all', axis=0)# 刪除所有為nan的行
    df = df.replace(np.nan, 0)# 再把nan替換成0

    3.刪除某行中某個值為0的行

    代碼如下:|

    1 >>> df= df[df['salary'] != 0]

    4.使用lambda函數來刪除行

    代碼如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import pandas as pd
    import numpy as np
      
    np.random.seed(0)
      
    df = pd.DataFrame(np.random.randn(5,3),
                      index=['one', 'two', 'three', 'four', 'five'],
                      columns=list('abc'))
      
    df.loc[['one', 'three']] = 0 # 把第一行和第三行改為0
      
    print(df)
    print(df.loc[~df.apply(lambda row: (row==0).all(), axis=1)])

    輸出為:

    要在任何行中刪除所有值為0的列: 

    1
    2
    new_df = df[df.loc[:]!=0].dropna()
    new_df

     輸出為:

     

    總結

    到此這篇關于python數據分析之如何刪除value=0行的文章就介紹到這了

    分享到:

    相關信息

    系統教程欄目

    欄目熱門教程

    人氣教程排行

    站長推薦

    熱門系統下載

    人人透人人躁人人躁看_人人网在线观看国产_人人做人人爱超碰首页 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>