python数据分析—删除value=0的行


前言

拿到一堆数据,首先我们是要对其进行数据的预处理,其中数据存在一些值为空或者是我们不想要的数据,对其进行删除或者是修改数据值。下面是对于该例子进行删除和修改:
 

>>> 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来表示。

>>> 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的行:

>>> 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)]

 看起来比较对称可以这样写:

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

使用dropna方法来删除:

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

2.用nan替换零,然后删除所有行中数据都为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.删除某行中某个值为0的行

代码如下:|

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

4.使用lambda函数来删除行

代码如下:
 

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

 输出为:

  • 12
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python数据分析函数用法大全比较难以一次性全部列出,因为Python数据分析所使用到的函数非常多。但是,我可以列出一些常用的Python数据分析函数及其用法,帮助你更好地理解数据分析。 1. Pandas库中的常用函数 Pandas库是Python数据分析中常用的库之一,以下是一些常用的函数: - read_csv:读取CSV文件; - read_excel:读取Excel文件; - read_sql_query:执SQL查询,并将结果读取到DataFrame中; - concat:将两个或多个DataFrame按或列进合并; - merge:将两个或多个DataFrame按照某一列进合并; - groupby:按照某一列进分组; - pivot_table:根据指定的和列进数据透视; - apply:对DataFrame中的每或每列进函数操作; - value_counts:计算Series中每个值出现的次数; - drop_duplicates:删除DataFrame中的重复; - fillna:填充缺失值; - isnull:检查DataFrame中的缺失值; - plot:绘制图表。 2. Numpy库中的常用函数 Numpy库是Python数据分析中常用的库之一,以下是一些常用的函数: - arange:生成等差数列; - linspace:生成等间隔数列; - random:生成随机数; - reshape:改变数组形状; - concatenate:将两个或多个数组按或列进合并; - max:计算数组的最大值; - min:计算数组的最小值; - mean:计算数组的平均值; - sum:计算数组的总和; - argmax:返回数组中最大值的索引; - argmin:返回数组中最小值的索引; - dot:计算矩阵乘积。 3. Matplotlib库中的常用函数 Matplotlib库是Python数据分析中常用的可视化库之一,以下是一些常用的函数: - plot:绘制线图; - scatter:绘制散点图; - hist:绘制直方图; - bar:绘制柱状图; - pie:绘制饼图; - boxplot:绘制箱线图。 4. Seaborn库中的常用函数 Seaborn库是Python数据分析中常用的可视化库之一,以下是一些常用的函数: - distplot:绘制直方图和密度曲线; - pairplot:绘制多个变量之间的关系图; - heatmap:绘制热力图; - lmplot:绘制线性回归模型图; - boxplot:绘制箱线图。 以上是Python数据分析中常用的一些函数及其用法,但仅仅列出这些是远远不够的,因为Python数据分析所使用到的函数非常多,需要在实践中不断学习和积累。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白只对大佬的文章感兴趣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值