首页 > 其他分享 >办公自动化pandas

办公自动化pandas

时间:2023-05-30 17:34:56浏览次数:42  
标签:办公自动化 name excel 昵称 replace dict df2 pandas

需求如下:

实现代码:

未优化代码

  import pandas as pd

def rep_huan():
    # 读取excel文件
    df1 = pd.read_excel('data1.xlsx')  # 表一
    df2 = pd.read_excel('data2.xlsx')  # 表二


    replace_dict = []
    for xm,nc in zip(df1['姓名'], df1['昵称']):
        dic = {
            xm: nc
        }
        replace_dict.append(dic)


    # print(replace_dict)

    names = list(df2['昵称'])
    print(names)

    # 进行替换操作
    for i, name in enumerate(names):
        for replace_item in replace_dict:
            for old_name, new_name in replace_item.items():
                if name == old_name:
                    names[i] = new_name
                    break

    # 输出替换后的结果
    print(names)

    df2['昵称'] = names

    # 将更新后的数据保存到新的 Excel 文件
    df2.to_excel('data3.xlsx', index=False)  # 表三
    print("替换成功")

rep_huan()

优化代码

# @Time    : 2023/5/30
# @Author  : zhc
# @File    : demo优化.py
import pandas as pd

def rep_huan():
    # 读取excel文件
    df1 = pd.read_excel('data1.xlsx')  # 表一
    df2 = pd.read_excel('data2.xlsx')  # 表二

    # 创建字典映射关系的列表
    replace_dict = dict(zip(df1['姓名'], df1['昵称']))

    # 进行替换操作
    df2['昵称'] = df2['昵称'].map(replace_dict).fillna(df2['昵称'])

    # 将更新后的数据保存到新的 Excel 文件
    df2.to_excel('data5.xlsx', index=False)  # 表三
    print("替换成功")

rep_huan()

优化后的代码主要使用了字典的映射关系来进行替换操作,避免了使用嵌套循环的方式。通过将表一中的姓名作为字典的键,昵称作为字典的值,构建了一个映射关系的字典。然后使用 map() 函数将表二中的昵称根据字典进行替换,并使用 fillna() 函数填充未匹配到的值。
这种优化方式可以减少循环的嵌套层数,提高了替换操作的效率,从而降低了时间复杂度。

实现图:

标签:办公自动化,name,excel,昵称,replace,dict,df2,pandas
From: https://www.cnblogs.com/code3/p/17443860.html

相关文章

  • pandas是干什么的
    Pandas是一个开源的数据分析和数据处理库,建立在NumPy库之上。它提供了一组高效的数据结构和数据分析工具,使得在Python中进行数据操作变得更加简单和灵活。Pandas的主要数据结构是两种核心对象:Series和DataFrame。Series是一维标记数组,类似于带有标签的数组。它可以存......
  • Pandas 加载数据的方法和技巧
    哈喽大家好,我是咸鱼相信小伙伴们在学习python数据分析的过程中或多或少都会听说或者使用过pandaspandas是python的一个拓展库,常用于数据分析今天咸鱼将介绍几个关于pandas导入数据的方法和技巧从URL获取csv数据关于pandas导入csv数据,使用的是下面这个方法pa......
  • 【pandas基础】--数据类型
    数据类型是计算机编程中将不同类型的数据值分类和定义的方式。通过数据类型,可以确定数据的存储方式和内存占用量,了解不同类型的数据进行各种运算的能力。使用pandas进行数据分析时,最常用到的几种类型是:字符串类型,各类文本内容都是字符串类型数值类型,包括整数和浮点数,可用于计......
  • Pandas数据框去重复(AB、BA类型)
    <生信交流与合作请关注公众~号@生信探索>从string-db下载蛋白质相互作用的信息,在处理时发现蛋白A与B互作被记录了两次比如下边的例子(即AB、BA)df.drop_duplicates()#Symbol1Symbol2#Gnai3Pdcl2#Pdcl2Gnai3#Gm4340Gm3376#Gm3376Gm4340而且drop_duplicates不......
  • pandas
    目录pandasPandas数据结构-DataFramePandasCSV文件数据处理head()tail()info()PandasJSONpandasPandasSeries类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。pandas.Series(data,index,dtype,name,copy)data:一组数据(ndarray类型)。ind......
  • pandas 笔记
    1.pandas两列取最小值,如果其中一列为nan,会取另外一列>>>df3abc0111.01112.02112.0322NaN432NaN>>>df3['d']=df3[['a','c']].min(axis=1)>>>df3abcd011......
  • 【PYTHON】pandas字符替换
    处理文本数据时,常见的存储格式为textfile格式,对应行分隔符为"\n",列分隔符为"\t"。而大家往往不会直接使用txt格式文件进行日常操作,Excel更为简便通用。因此,如果我们需要处理的Excel数据中,某个取值内出现了"\t"或"\n"或"\r\n"符号,转为txt格式文件处理将出现数据错位的情况......
  • pandas
    转载于: http://c.biancheng.net/pandas/pandas主要特点提供一个简单、高效、带有默认标签(也可以自定义标签)的DataFrame对象;能够快速得从不同格式的文件中加载数据(如:Excel、CSV、SQL文件),然后将其转换为可处理的对象;能够按照数据的行、列标签进行分组,并对分组后的对象执行聚合......
  • Pandas 03 DataFrame
    PandasDataFrameInitsignature:pd.DataFrame(data=None,index:'Optional[Axes]'=None,columns:'Optional[Axes]'=None,dtype:'Optional[Dtype]'=None,copy:'bool'=False,)Docstring:......
  • Pandas 03 使用
    Pandas的使用典型的数据分析流程是采集、整理清洗、处理(分组、排序、计算),然后按照分析目的产出最终数据,最后进行可视化,得出结论。一、Pandas读取和导出格式文件格式读取函数写入(输出)函数binaryExcelread_excelto_exceltextCSVread_csvread_tabletextJSONread_jsonto_jsontext网页......