如何用python比较不同列中的同一行?

2024-05-16 04:42:51 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

我有A列和B列,我需要做一次质量检查,以确保每次A列为“现金”时B列为空。我不想输出每一行,我只想知道(真/假)每次A列是'Cash'时B列是否为空。在

我当前(不工作)代码:

mylist = []

while [df['A'] == 'Cash'] and [df['B'] is None]:

    mylist.append('Pass')
else: 

    mylist.append('Fail')

if 'Fail' in mylist:

     print 'Column A Pass'

else:

     print 'Column A Pass'

Tags: and代码dfiscolumncashpasselse
2条回答

如果每次A列为'Cash'时B列为空?在

aCash = df.A == "Cash"
bNull = df.B.isnull()

aCash.sum() == (aCash & bNull).sum()  
  • aCash&bNull如果A都是“Cash”,“B”是空的,如果它与aCash本身具有相同数量的Trues,则aCash&bNull表示A是{},B是{}的所有行。在

测试条件相等

d1.A.eq('Cash').eq(d1.B.isnull()).all()

演示

^{pr2}$
d1.A.eq('Cash').eq(d1.B.isnull()).all()

True

d1.A.eq('Cash').eq(d1.C.isnull()).all()

False

相关问题 更多 >