如何知道使用熊猫删除的行数

Posted

技术标签:

【中文标题】如何知道使用熊猫删除的行数【英文标题】:how to know the count of number of rows deleted using pandas 【发布时间】:2018-11-06 15:47:45 【问题描述】:

从这 2 个 .csv 文件过滤完成并删除了常见的 emailid,我可以得到删除后的总数,但是有没有任何选项可以给出使用 pandas 删除多少行。

使用 mysql : 从数据 a 中删除 a,d​​ata1 b 其中 a.email=b.email;选择行数(); 如何使用 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()

【问题讨论】:

【参考方案1】:

我认为需要sumTrues 值,这些值类似于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

【讨论】:

谢谢耶兹瑞尔。但我正在寻找此处删除的行数,因为 K,L 在 emailid 和 email 中都应为 2。因为 sum() 类似于 count 。这是我需要用于大型 csv 文件的函数。需要给出删除行数的函数 @DivyaNagandla - 我明白,然后删除~,所以不要通过~ 反转 @DivyaNagandla - 抱歉,我不知道 bash :( @DivyaNagandla - 使用len(df.query('line_race != 0') ) 非常感谢 jezrael:)

以上是关于如何知道使用熊猫删除的行数的主要内容,如果未能解决你的问题,请参考以下文章

如何计算熊猫数据框中每组的行数并将其添加到原始数据中

如何使用熊猫从另一个数据框 B 的列中删除包含特定数量值的数据框 A 中的行?

如何过滤或删除包含熊猫列表中值的行

插入大查询表的行数少于预期

选择每组的最大行数 - 熊猫性能问题

在 SQLite-WinRT 包装器中使用“更新”或“删除”查询获取受影响的行数