Pandas中根据条件替换列中的值的四种方式

 更新时间:2023年01月16日 14:29:56   作者:Rick_M359  
本文主要介绍了Pandas中根据条件替换列中的值的四种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

方法1:使用dataframe.loc[]函数

通过这个方法,我们可以用一个条件或一个布尔数组来访问一组行或列。如果我们可以访问它,我们也可以操作它的值,是的!这是我们的第一个方法,通过pandas中的dataframe.loc[]函数,我们可以访问一个列并通过一个条件改变它的值。

语法:df.loc[ df["column_name"] == "some_value", "column_name" ] = "value" 

some_value = 需要被替换的值   value = 应该被放置的值。

 示例: 我们要把性别栏中的所有 “男性 “改为1。

import pandas as pd
import numpy as np
  
# data
data= {
    'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'],
    'gender': ['male', 'male', 'male', 'female', 'female', 'male'],
    'math score': [50, 100, 70, 80, 75, 40],
    'test preparation': ['none', 'completed', 'none', 'completed',
                         'completed', 'none'],
}
  
# 创建一个 Dataframe 对象
df = pd.DataFrame(data)
  
# 条件应用
df.loc[df["gender"] == "male", "gender"] = 1

 输出:

使用dataframe.loc[]函数

方法2:使用NumPy.where()函数

NumPy是一个非常流行的库,用于2D和3D数组的计算。它为我们提供了一个非常有用的方法where()来访问有条件的特定行或列。我们也可以用这个函数来改变某一列的特定值。 语法: df[“column_name”] = np.where(df[“column_name”]==”some_value”, value_if_true, value_if_false) 

 示例: 这个numpy.where()函数应该写上条件,如果条件为真,后面是值,如果条件为假,则是一个值。现在,我们要把性别栏中的所有 “女性 “改为0,”男性 “改为1。

import pandas as pd
import numpy as np
  
# data
data= {
    'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'],
    'gender': ['male', 'male', 'male', 'female', 'female', 'male'],
    'math score': [50, 100, 70, 80, 75, 40],
    'test preparation': ['none', 'completed', 'none', 'completed',
                         'completed', 'none'],
}
  
# 创建一个 Dataframe 对象
df = pd.DataFrame(data)
  
 # 条件应用
df["gender"] = np.where(df["gender"] == "female", 0, 1)

输出:

使用NumPy.where()函数

方法3:使用pandas掩码函数

Pandas的掩蔽函数是为了用一个条件替换任何行或列的值。

语法: df[‘column_name’].mask( df[‘column_name’] == ‘some_value’, value , inplace=True )

示例:使用这个屏蔽条件,将性别栏中所有的 “女性 “改为0。

import pandas as pd
import numpy as np
  
# data
data= {
    'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'],
    'gender': ['male', 'male', 'male', 'female', 'female', 'male'],
    'math score': [50, 100, 70, 80, 75, 40],
    'test preparation': ['none', 'completed', 'none', 'completed', 
                         'completed', 'none'],
}
  
# 创建一个 Dataframe 对象
df = pd.DataFrame(data)
  
# 条件应用 1
df['gender'].mask(df['gender'] == 'female', 0, inplace=True)
  
# 条件应用 2
#df['math score'].mask(df['math score'] >=60 ,'good', inplace=True)

输出:

使用pandas掩码函数

方法4:替换包含指定字符的字符串

语法 : data["列名"].mask(data.列名.str.contains(".*?某字符串"), "替换目标字符串", inplace=True) 

import pandas as pd
import numpy as np
  
# data
data= {
    'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'],
    'gender': ['male', 'male', 'male', 'female', 'female', 'male'],
    'math score': [50, 100, '良70', 80, '良75', 40],
    'test preparation': ['none', 'completed', 'none', 'completed', 
                         'completed', 'none'],
}
  
# 创建一个 Dataframe 对象
df = pd.DataFrame(data)
  
# 条件应用 
data["math score"].mask(data.math score.str.contains(".*?良"), "良好", inplace=True) 

使用pandas掩码函数

到此这篇关于Pandas中根据条件替换列中的值的四种方式的文章就介绍到这了,更多相关Pandas 条件替换列值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Djongo模块在Django中使用MongoDB数据库

    使用Djongo模块在Django中使用MongoDB数据库

    Django框架为我们提供了简洁方便的ORM模型供我们对数据库进行各种操作,但是这个“数据库”却并不包括NoSQL的典型——MongoDB。不少Django初学者也会到处询问,如何才能在Django中使用MongoDB。本文将介绍使用Djongo来在Django中集成MongoDB数据库
    2021-06-06
  • 基于python(urlparse)模板的使用方法总结

    基于python(urlparse)模板的使用方法总结

    下面小编就为大家带来一篇基于python(urlparse)模板的使用方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()的区别

    Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()的区别

    本文主要介绍了OpenCV cv2.imread(),cv2.imshow(),cv2.imwrite()的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Python JSON编解码方式原理详解

    Python JSON编解码方式原理详解

    这篇文章主要介绍了Python JSON编解码方式原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python+matplotlib实现堆叠图的绘制

    Python+matplotlib实现堆叠图的绘制

    Matplotlib作为Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。本文将利用Matplotlib库绘制堆叠图,感兴趣的可以了解一下
    2022-03-03
  • python 列表中[ ]中冒号‘:’的作用

    python 列表中[ ]中冒号‘:’的作用

    中括号[ ]:用于定义列表或引用列表、数组、字符串及元组中元素位置,冒号: 用于定义分片、步长。这篇文章给大家介绍python 列表中[ ]中冒号‘:’的作用,感兴趣的的朋友跟随小编一起看看吧
    2019-04-04
  • Python实现自动化批量调整Word样式

    Python实现自动化批量调整Word样式

    在日常工作中,处理大量的Word文档是一个常见的任务,尤其是需要批量修改文档的样式时,本文为大家介绍了如何使用Python实现自动化批量调整Word样式,需要的可以参考下
    2024-12-12
  • python如何实现全角半角的相互转换

    python如何实现全角半角的相互转换

    这篇文章主要介绍了python如何实现全角半角的相互转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Python 面向切面编程 AOP 及装饰器

    Python 面向切面编程 AOP 及装饰器

    这篇文章主要介绍了Python 面向切面编程 AOP 及装饰器,AOP,就是面向切面编程,简单的说,就是动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程,更多相关资需要的小伙伴可以参考下面文章内容
    2022-05-05
  • python 性能优化方法小结

    python 性能优化方法小结

    本文主要介绍了python 提高性能的方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03

最新评论