数据分析—pandas 如何实现多条件修改数据

【问题】数据集中的性别列,出现男性,想要将男性改为男,如下所示:
数据分析—pandas 如何实现多条件修改数据_第1张图片

【解决方法一】切分字符串

# 测试数据
import pandas as pd
dic = {'name':['lily','lida','lili'],
      'sex':['男','女','男性'],
      'address':['北京','上海','天津']}
df = pd.DataFrame(data= dic)
df
数据分析—pandas 如何实现多条件修改数据_第2张图片
df['sex'] = df['sex'].apply(lambda x:x[0])
df
数据分析—pandas 如何实现多条件修改数据_第3张图片

【解决方法二】自定义函数

def rename_gender(gender):
    if gender == '男性':
        return '男'
    return gender
data['sex'] = data['sex'].apply(rename_gender)

【解决方法三】where

filter1 = df['性别']=='男'
filter2 = df['性别']=='女'
dfs = df.where(filter1 | filter2,'男')
dfs

说明:where()方法用于检查一个或多个条件的数据帧,并相应地返回结果。默认情况下,不满足条件的行将填充为NaN值。

Syntax
DataFrame.where(cond,other = nan,inplace = False,axis = None,level = None,错误='raise',try_cast = False,raise_on_error = None)

  • Parameters:
  • cond:一种或多种条件来检查数据帧。
  • other :用用户定义的对象替换不满足条件的行,默认为NaN
  • inplace:布尔值,如果True
  • axis :要检查的轴(行或列), 则对数据框本身进行更改

希望本文的内容对大家的学习或者工作能带来一定的帮助,每天进步一点点,加油❤。

你可能感兴趣的:(数据分析—pandas 如何实现多条件修改数据)