此处从这2个.csv文件中完成过滤并删除常见的emailid,我可以在删除后得到总数,但是有没有选项可以显示使用pandas删除了多少行。
使用mysql: 从数据a中删除a,data1 b其中a.email = b.email; select row_count(); 如何使用pandas
完成import pandas as pd
colnames=['id','emailid']
data=pd.read_csv("input.csv",names=colnames,header=None)
colnames=['email']
data1= pd.read_csv("compare.csv",names=colnames,header=None)
emailid_suppress1=data1['email'].str.lower()
suppress_md5=data[~data['emailid'].isin(emailid_suppress1)]
print suppress_md5.count()
答案 0 :(得分:1)
我认为需要sum
个True
个值,这些值就像1
这样的流程:
data = pd.DataFrame({'id':list('abcde'), 'emailid':list('klmno')})
print (data)
id emailid
0 a k
1 b l
2 c m
3 d n
4 e o
data1 = pd.DataFrame({'email':list('ABCKLDEFG')})
print (data1)
email
0 A
1 B
2 C
3 K
4 L
5 D
6 E
7 F
8 G
emailid_suppress1=data1['email'].str.lower()
print ((~data['emailid'].isin(emailid_suppress1)).sum())
3
suppress_md5=data[~data['emailid'].isin(emailid_suppress1)]
print (suppress_md5)
id emailid
2 c m
3 d n
4 e o
编辑:
print ((data['emailid'].isin(emailid_suppress1)).sum())
2
suppress_md5=data[data['emailid'].isin(emailid_suppress1)]
print (suppress_md5)
id emailid
0 a k
1 b l