当前位置: 首页 > 后端技术 > Python

pandas将函数应用于列(qbit)

时间:2023-03-26 12:55:54 Python

前言环境Python3.8Pandas1.4.4文本初始化数据>>>importpandasaspd>>>df0=pd.DataFrame(data=[{'name':'张三','tag':'running','title':'MAN'},{'name':'王二','tag':'足球;电影','title':'大叔;大叔'}])>>>df0nametagtitle0张三跑MAN1旺格足球;影叔;大叔定义去重函数defUniqItems(items:str):iset=set()foriteminitems.split(';'):item=item.strip()ifnotitem:continueiset.add(item)return';'.join(iset)单列去重(对一列单元格应用函数)>>>df1=df0.copy()>>>df1['title']=df1['title'].map(UniqItems)>>>df1nametagtitle0张三跑男1王二足球;电影叔叔所有列重复数据删除(将函数应用于所有单元格)>>>df1=df0.copy()>>>df1nametagtitle0张三跑男1王二足球;电影大叔;uncle>>>df1.applymap(UniqItems)nametagtitle0张三跑男1王二足球;电影大叔指定部分列去重(对某些列的单元格应用函数)>>>dfTmp=df0[['tag','title']]>>>dfTmp标签标题0runningMAN1football;电影大叔;uncle>>>dfTmp=dfTmp.applymap(UniqItems)>>>dfTmptagtitle0runningMAN1football;电影大叔>>>df1=df0.copy()>>>df1nametagtitle0张三跑男1王二足球;电影大叔;uncle>>>df1.update(dfTmp)>>>df1nametagtitle0张三跑男1王二足球;电影大叔本文来自量子位快照