使用布尔掩码并求和:
N = sum((df['Participant'] == 1) & (df['Condition'] == 1) & (df['RT'].notna()))
print(N)
# Output
1
细节:
m1 = df['Participant'] == 1
m2 = df['Condition'] == 1
m3 = df['RT'].notna()
df[['m1', 'm2', 'm3']] = pd.concat([m1, m2, m3], axis=1)
print(df)
# Output
Participant Condition RT m1 m2 m3
0 1 1 0.10 True True True # All True, N = 1
1 1 1 NaN True True False
2 1 2 0.48 True False True
3 2 1 1.20 False True True
4 2 2 NaN False False False
5 2 2 0.58 False False True