例如:
我有A栏和B栏,我需要进行质量检查,以确保每次A栏都是现金'时B栏都是空的。我不想输出每一行,我只想知道(真/假),如果每次A列是现金&#39的话,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'
答案 0 :(得分:1)
如果每次A列是'现金' ,则B列为空?
aCash = df.A == "Cash"
bNull = df.B.isnull()
aCash.sum() == (aCash & bNull).sum()
aCash
本身具有相同数量的Trues,则为NULL,对A
为Cash
,B
为NULL
的所有行均为NULL。 答案 1 :(得分:1)
测试条件相等
UPDATE Agents
SET Office_Count = Office_Count + 1
WHERE Id = NEW.Agents_Id;
演示
d1.A.eq('Cash').eq(d1.B.isnull()).all()
d1 = pd.DataFrame(dict(
A=['a', 'b', 'Cash', 'c', 'Cash', 'd'],
B=[1, 1, None, 1, None, 1],
C=[1, None, 1, 1, 1, 1]
))
print(d1)
A B C
0 a 1.0 1.0
1 b 1.0 NaN
2 Cash NaN 1.0
3 c 1.0 1.0
4 Cash NaN 1.0
5 d 1.0 1.0
d1.A.eq('Cash').eq(d1.B.isnull()).all()
True