pandas基础入门之部分值替换与缺失值处理

1.部分值替换

replace(to_replace=None, value=None, regex=False, inplace=False) 

  1. 直接指定方式 :to_replace 与 value 配套使用,表示 old -> new 单独值:to_replace = old, value = new    
  2. 相同长度list:to_replace = [old1, old2], value = [new1, new2]
  3. list->单值:to_replace = [old1, old2], value = new
  4. 指定相同列的dict:to_replace = {column1:old1, column2:old2},  value = {column1:new1, column2:new2}
  5. dict->单值:to_replace = {column1:old1, column2:old2}, value = new old
import pandas as pd
import numpy as np
data=pd.DataFrame({'qu1':[1,7,41,3,4],
                   'qu2':[1,9,4,37,4],
                   'qu3':[1,12,25,3,37]})
print(data)
data.replace(to_replace=[1,4],value=['replace1','replace4'],inplace=True)
print(data)



out:
   qu1  qu2  qu3
0    1    1    1
1    7    9   12
2   41    4   25
3    3   37    3
4    4    4   37
        qu1       qu2       qu3
0  replace1  replace1  replace1
1         7         9        12
2        41  replace4        25
3         3        37         3
4  replace4  replace4        37



data1=pd.DataFrame({'qu1':[1,7,41,3,4],
                   'qu2':[1,9,4,37,4],
                   'qu3':[1,12,25,3,37]})
print(data1)
data1.replace(to_replace={'qu1':1,'qu2':9},value={'qu1':'replace1','qu2':'replace9'},inplace=True)
print(data1)


out:
   qu1  qu2  qu3
0    1    1    1
1    7    9   12
2   41    4   25
3    3   37    3
4    4    4   37
        qu1       qu2  qu3
0  replace1         1    1
1         7  replace9   12
2        41         4   25
3         3        37    3
4         4         4   37

2.缺失值处理。

  • 缺失值处理步骤: 缺失值确认:isnull, notnull ,缺失值处理:dropna, fillna
  • isnull() :返回一个含有布尔值的对象,表示哪些值是NA, Notnull() :isnull的否定式。
import  pandas as pd

import  numpy as np

df_obj=pd.DataFrame([[1,6.5,3],[4.6,np.nan,2.4],[np.nan,np.nan,3.9],[np.nan
    ,8.5,np.nan]],columns=['col1','col2','col3'])
print(df_obj)
out:
  col1  col2  col3
0   1.0   6.5   3.0
1   4.6   NaN   2.4
2   NaN   NaN   3.9
3   NaN   8.5   NaN
print(df_obj.isnull())
out:
    col1   col2   col3
0  False  False  False
1  False   True  False
2   True   True  False
3   True  False  
print(df_obj.notnull())
out:
    col1   col2   col3
0   True   True   True
1   True  False   True
2  False  False   True
3  False   True  False


  • dropna() 判断指定轴中是否存在缺失数据对轴进行过滤,     可通过阈值调节对缺失值的容忍度。

 

 

import  pandas as pd

import  numpy as np

df_obj=pd.DataFrame([[1,6.5,3],[4.6,np.nan,2.4],[np.nan,np.nan,3.9],[np.nan
    ,8.5,np.nan]],columns=['col1','col2','col3'])
print(df_obj)
out:
  col1  col2  col3
0   1.0   6.5   3.0
1   4.6   NaN   2.4
2   NaN   NaN   3.9
3   NaN   8.5   NaN

# any 只要有一个就删除,axis=0 对行进行操作,axis=1,对列进行操作,thresh就是数量要相等 subset是作用范围
print(df_obj.dropna(how='any',axis=0))
out:
  col1  col2  col3
0   1.0   6.5   3.0

print(df_obj.dropna(how='all',subset=['col2']))
out:
 col1  col2  col3
0   1.0   6.5   3.0
3   NaN   8.5   NaN

print(df_obj.dropna(how='all',thresh=2))
out:
   col1  col2  col3
0   1.0   6.5   3.0
1   4.6   NaN   2.4

#只能用于列的填充
print(df_obj.fillna({'col1':9,'col2':8}))
  col1  col2  col3
0   1.0   6.5   3.0
1   4.6   8.0   2.4
2   9.0   8.0   3.9
3   9.0   8.5   NaN

# ffill就是从上往下填充,bfill就是从下往上填充
print(df_obj.fillna(method='ffill',limit=1))
   col1  col2  col3
0   1.0   6.5   3.0
1   4.6   6.5   2.4
2   4.6   NaN   3.9
3   NaN   8.5   3.
print(df_obj.replace(to_replace=[4.6,3],value=['replace0','5a']))
out:
     col1  col2 col3
0         1   6.5   5a
1  replace0   NaN  2.4
2       NaN   NaN  3.9
3       NaN   8.5  NaN

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pandas是一个Python库,用于数据处理和分析。它提供了许多数运算和缺失处理的功能。数运算包括加、减、乘、除、求和、平均、中位数、最大、最小等。缺失处理包括删除、填充、插等方法。Pandas的数运算和缺失处理功能非常强大,可以帮助我们更好地处理数据。 ### 回答2: Pandas是一种基于Python的开放源代码数据处理工具,它提供了一种灵活而高效的数据结构,可以用来进行数运算与缺失处理。头歌Pandas运算与缺失处理分别如下: 一、头歌Pandas运算 1. 算术运算:Pandas支持加减乘除等算术运算,其中加法和减法在Series和DataFrame数组中都是对齐索引然后在各个位置进行运算。如果某个位置对应的索引在两个数组中都不存在,那么就填充缺失NaN。 2. 统计函数:Pandas提供了一系列的统计函数,例如求和、平均、标准差、方差等。这些函数能够对Series和DataFrame数组中的数进行计算。 3. 位运算:Pandas还支持按位与、按位或、按位异或等位运算,这些函数可以在数据分析和处理中发挥重要作用。 二、头歌Pandas缺失处理 在实际应用中,数据中经常会存在一些缺失,这时候我们需要用Pandas进行缺失处理Pandas提供了以下几种常用的缺失处理方法: 1. isnull()函数:Pandas中的isnull()函数可以判断给定的Series或DataFrame对象中的每一个元素是否为缺失。 2. dropna()函数:dropna()函数可以将包含缺失的行或列从DataFrame中删除。该函数默认删除包含任何缺失的行或列,也可以通过设置参数来控制删除的方式。 3. fillna()函数:fillna()函数可以用指定的数或者方法来填充缺失。该函数可以对Series和DataFrame对象进行操作。 以上是头歌Pandas运算和缺失处理的简单介绍,Pandas具有很强的灵活性和可扩展性,在数据处理和数据分析中发挥着重要的作用。 ### 回答3: Pandas是Python中常用的数据分析库,提供了用于处理表格和时间序列数据的丰富数据结构和函数。Pandas中常见的两种数据结构是Series和DataFrame,其中Series是一维的数据结构,类似于一列数据,而DataFrame则是二维的数据结构,类似于一个表格。 Pandas提供了丰富的数运算函数,可用于对Series和DataFrame中的数据进行数计算和统计分析。例如,可以使用mean()函数计算数据的平均,sum()函数计算数据的总和,std()函数计算数据的标准差等等。Pandas也支持各种运算符和操作符,例如加、减、乘、除、幂等运算。 在进行数运算时,Pandas会自动对缺失NaN进行处理。NaN代表“Not a Number”,可以用于表示缺失或不存在的数据。Pandas提供了一组函数用于处理缺失,例如isna()函数用于判断是否为缺失,fillna()函数用于填充缺失,dropna()函数用于删除包含缺失的行或列。 除了函数之外,Pandas还提供了一些高级的处理缺失的函数,例如interpolate()函数,该函数可以基于数据的已知缺失进行插。此外,Pandas还可以通过使用fillna()函数中的method参数,在保留每列数据中的一些有用信息的同时,填充缺失。 总之,Pandas提供了丰富的数运算和缺失处理函数,使得数据分析变得更加方便和高效。Pandas的强大功能为数据分析提供了更好的可重复性和精度,也为数据科学家和分析师提供了更好的工具和支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值