【wos机构数据清洗】一次性对dataframe的列数据的多处进行替换,apply函数的使用

在数据处理中,为分析的需要我们往往需要对简写进行补全,补全的方式之一就是要多简写和缩写建立映射关系,因此我们这里运用到了字典的数据格式,由于本人处理的是dataframe数据,为了充分利用dataframe内置的函数与方法提高效率,我使用的是其apply方法,运用wos数据库的数据时,这种需求就太常见了,如图:

例如

具体实现代码如下:

#首先构建一个函数
def Transfer_fullname(x):
    #建立相应的映射
    dict_replace = {"Univ": "University", "Sci": "Science", "Technol": "Technology", "Sch": "School", "Coll": "College","Cent": "Center", "Engn": "Engineering", "Polytech": "Polytechnic", "Hosp": "Hospital",
                    "Elect": "Electronic", "Acad": "Academy", "Grad": "Graduate", "Agr": "Agricultural","Natl": "National"}
    for h in dict_replace:
        x = x.replace(h,dict_replace[h]) #一定要加上“x = ”
    return x
#此处apply其实就是一种比for更高效的pandas内置的方法,
gr["new"] = gr["Affi"].apply(lambda x: Transfer_fullname(x))

gr["Affi"]代表原始简写的那一列数据,gr["new"]转化后生成的行的一列,如果不想生成新列,直接将gr["new"]换成gr["Affi"]就ok

ps:如果对你有用请点个喜欢呗~~

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容