pandas 链式操作
import pandas as pd
import numpy as np
import janitor
yilanbiao=pd.read_excel(convert_path(r"C:\Users\xuefe\Desktop\未上报一览表(截止18日8时).xlsx"))
(yilanbiao.
assign(身份证号= lambda x: x['身份证号'].str.strip("'|’|,|“|‘").str.upper(),
首次阳性采样时间=lambda x:x['首次阳性采样时间'].pipe(pd.to_datetime,unit='s')).
add_column(column_name="id", value=yilanbiao['姓名']+yilanbiao['身份证号']))
(yilanbiao.
assign(身份证号=lambda x:x['身份证号'].str.strip("'|’|,|“|‘").str.upper()).
concatenate_columns(column_names=['姓名','身份证号'],new_column_name='id',sep='_').
drop_duplicates(['id']).
drop(['id'],axis=1).
also(lambda x:x.to_excel(r'/mnt/c/users/xuefe/desktop/去重复后.xlsx',index=False))
)
test=(yilanbiao.also(lambda x:x['身份证号'].str.strip("'|’|,|“|‘").str.upper()).
concatenate_columns(column_names=['姓名','身份证号'],new_column_name='id',sep='_').
drop_duplicates(['id']).
drop(['id'],axis=1).
query("阳性报告时间 >= '2022-10-15'"))
#查找重复行
test=(yilanbiao.
assign(身份证号=lambda x:x['身份证号'].str.strip("'|’|,|“|‘").str.upper(),
id=lambda x:x['姓名'].str.cat(x['身份证号'],sep='_'),
dup=lambda x: x.duplicated(['id'])).
query("dup==True"))
评论
发表评论