python數(shù)據(jù)分析之如何刪除value=0的行
前言
拿到一堆數(shù)據(jù),首先我們是要對(duì)其進(jìn)行數(shù)據(jù)的預(yù)處理,其中數(shù)據(jù)存在一些值為空或者是我們不想要的數(shù)據(jù),對(duì)其進(jìn)行刪除或者是修改數(shù)據(jù)值。下面是對(duì)于該例子進(jìn)行刪除和修改:
>>> df out[]: salary age gender 0 10000 23 男 1 15000 34 女 2 23000 21 男 3 0 20 女 4 28500 0 男 5 35000 37 男
一、數(shù)據(jù)處理
1. df.replace()方法:將“男”用1來(lái)表示,“女孩”用0來(lái)表示。
>>> 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()方法來(lái)指定列中數(shù)據(jù)為0的行:
>>> 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的行
代碼如下:
>>> df.loc[~(df==0).all(axis=1)]
看起來(lái)比較對(duì)稱可以這樣寫(xiě):
>>> df.loc[(df!=0).any(axis=1)]
使用dropna方法來(lái)刪除:
>>> new_df = df[df.loc[:]!=0].dropna()
2.用nan替換零,然后刪除所有行中數(shù)據(jù)都為nan的行。之后,將nan替換為零。
代碼如下:
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.刪除某行中某個(gè)值為0的行
代碼如下:|
>>> df= df[df['salary'] != 0]
4.使用lambda函數(shù)來(lái)刪除行
代碼如下:
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的列:
new_df = df[df.loc[:]!=0].dropna() new_df
輸出為:

總結(jié)
到此這篇關(guān)于python數(shù)據(jù)分析之如何刪除value=0行的文章就介紹到這了,更多相關(guān)python刪除value=0的行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用openpyxl庫(kù)讀取Excel文件數(shù)據(jù)
openpyxl是一個(gè)功能強(qiáng)大的庫(kù),可以輕松地實(shí)現(xiàn)Excel文件的讀寫(xiě)操作,本文將介紹如何使用openpyxl庫(kù)讀取Excel文件中的數(shù)據(jù),感興趣的小伙伴可以了解下2023-11-11
深入了解Python中反射和動(dòng)態(tài)屬性的無(wú)限可能
理解 Python 中的反射和動(dòng)態(tài)屬性是編寫(xiě)靈活和強(qiáng)大程序的關(guān)鍵,在這篇文章中,小編將帶領(lǐng)大家一起反射和動(dòng)態(tài)屬性的概念,并提供大量示例代碼,希望對(duì)大家有所幫助2023-11-11
基于Django框架的rest_framework的身份驗(yàn)證和權(quán)限解析
Django 是一個(gè)基于 Python 的 Web 框架,可讓您快速創(chuàng)建高效的 Web 應(yīng)用程序,這篇文章主要介紹了基于Django框架的rest_framework的身份驗(yàn)證和權(quán)限解析,需要的朋友可以參考下2023-05-05
Python實(shí)現(xiàn)掃描局域網(wǎng)活動(dòng)ip(掃描在線電腦)
這篇文章主要介紹了Python實(shí)現(xiàn)掃描局域網(wǎng)活動(dòng)ip(掃描在線電腦),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-04-04
python 獲取網(wǎng)頁(yè)編碼方式實(shí)現(xiàn)代碼
這篇文章主要介紹了python 獲取網(wǎng)頁(yè)編碼方式實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
Python列表刪除元素del、pop()和remove()的區(qū)別小結(jié)
這篇文章主要給大家介紹了關(guān)于Python列表刪除元素del、pop()和remove()的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

