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

作者:Rick_M359 时间:2022-07-25 00:27:38 

方法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

 输出:

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

使用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)

输出:

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

使用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中根据条件替换列中的值的四种方式

使用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掩码函数

来源:https://blog.csdn.net/Rick_M/article/details/128439156

标签:Pandas,条件替换,列值
0
投稿

猜你喜欢

  • asp如何将RGB颜色转化成到16进制的?

    2009-11-26 20:41:00
  • virtualenv实现多个版本Python共存

    2021-11-27 00:50:44
  • 利用rpm打包上线部署golang代码的方法教程

    2024-04-26 17:18:26
  • python Shapely使用指南详解

    2022-11-01 23:38:04
  • python计算Content-MD5并获取文件的Content-MD5值方式

    2022-09-27 00:53:29
  • 15个开发者必须知道的chrome技巧

    2022-08-27 20:24:33
  • python的import 机制是怎么实现的

    2021-02-22 14:39:11
  • layui-table表复选框勾选的所有行数据获取的例子

    2024-04-28 10:19:05
  • 详解SQL Server的聚焦过滤索引

    2024-01-22 06:15:23
  • 有用的SQL语句(删除重复记录,收缩日志)

    2008-03-04 16:59:00
  • SQL优化基础 使用索引(一个小例子)

    2012-01-29 18:29:26
  • 服务器XMLHTTP(Server XMLHTTP in ASP)基础

    2008-11-11 12:45:00
  • 浅谈Keras参数 input_shape、input_dim和input_length用法

    2021-02-19 13:24:40
  • python实现转盘效果 python实现轮盘抽奖游戏

    2023-03-06 00:00:57
  • Python+tkinter使用80行代码实现一个计算器实例

    2023-10-11 23:29:31
  • 收集前端面试题之url、href、src

    2024-06-05 09:12:30
  • asp如何使用MsChart制图工具?

    2010-06-05 12:40:00
  • Python实现ElGamal加密算法的示例代码

    2023-05-23 15:25:58
  • django框架基于queryset和双下划线的跨表查询操作详解

    2022-02-22 04:30:32
  • Python基础入门之魔法方法与异常处理

    2021-07-01 07:29:39
  • asp之家 网络编程 m.aspxhome.com