大数跨境

Python数据处理技巧-用Pandas进行高级替换!告别手工替换,效率飞起!

Python数据处理技巧-用Pandas进行高级替换!告别手工替换,效率飞起! 龙哥-电商财税&财务自动化
2025-03-17
0

我们今天来学Python数据处理分析中最重要的工具-Pandas,Pandas就像是Excel的超级加强版,能够轻松处理和分析数据、处理快准狠

在处理财务数据时,频繁遇到需批量执行一对一或多对多的替换操作?Pandas库提供了以下几种高效方法供选择:

通常,可以采用replace方法map方法apply方法以及loc方法来实现这些需求。

1.使用replace方法

1.1基本替换

df.replace(to_replace='旧值', value='新值')
#将所有值为 '张三' 的元素替换为 '张小三'df.replace(to_replace='张三', value='张小三')

1.2字典映射替换

replacement_dict = {'旧值1''新值1''旧值2''新值2'}df.replace(to_replace=replacement_dict)
#查找所有列的值,如果某个值为('A''B''C''D'),则将其替换(即 '优秀''中等''一般''差劲'replace_dict = {'A''优秀''B''中等','C''一般','D''差劲'}df.replace(to_replace=replace_dict)

1.3指定列替换

df['列名'].replace(to_replace='旧值', value='新值')
#将“性别”这一列里所有的“男”值替换为“Boy”df['性别']=df['性别'].replace(to_replace='男', value='Boy')

  
  
  
  

2. 使用map方法(通常用于Series对象)

mapping_dict = {'旧值1''新值1''旧值2''新值2'}df['列名'].map(mapping_dict)
#“性别”列的值会根据字典进行如下替换:“男”被替换为“Boy”,“女”被替换为“Girl”mapping_dict = {'男''Boy''女''Girl'}df['性别']=df['性别'].map(mapping_dict)

  
  
  
  

3. 使用apply方法(可以对DataFrame的行或列应用自定义函数)

3.1对【】应用函数

def custom_function(x):      if x == '旧值':           return '新值'      return xdf['列名'] = df['列名'].apply(custom_function)

#定义了一个函数JJ,并使用 apply方法将这个函数应用到df的“性别”列上,以实现值的替换。#替换规则:原本为 '男' 的单元格会被替换为 'Boy'。#替换规则:其他值(比如 '女' 或其他任何值)保持不变。def JJ(x):         if x == '男':                  return 'Boy'         return xdf['性别'] = df['性别'].apply(JJ)

  
  
  
  

3.2.对【整个DataFrame】应用函数

def custom_function(row):         if row['列名1'== '旧值':                     row['列名2'= '新值'         return rowdf = df.apply(custom_function, axis=1)

4.使用lociloc进行条件替换

df.loc[df['列名'] == '旧值''列名'] = '新值'

#找到“民族”列值为“回”的行,并将这些行的“加分”列的值设置为“少数民族可以加5分”df.loc[df['民族'] == '回''加分'] = '少数民族可以加5分'
#输出结果   姓名   学号 成绩 性别 民族         加分0  张三  101  B  男  汉        NaN1  李四  102  A  女  回  少数民族可以加5分2  王五  103  C  男  回  少数民族可以加5分3  赵六  104  D  男  汉        NaN

Pandas的高阶替换用法提供了多种灵活的方式来处理数据中的值替换和转换。根据具体需求选择合适的方法,可以提高数据处理的效率和准确性。


【声明】内容源于网络
0
0
龙哥-电商财税&财务自动化
1234
内容 83
粉丝 0
龙哥-电商财税&财务自动化 1234
总阅读10
粉丝0
内容83