我有以下数据框:
col1 col2 col3
0 1601286 NAN NAN
1 1601286 1135 2018-12-31
2 1601286 NAN NAN
3 1601286 1135 2018-12-31
4 1601286 NAN 2018-12-31
5 1601286 1135 2018-12-31
6 1601286 1135 2018-12-31
7 1601286 1135 2018-12-31
8 1601286 NAN NAN
我需要验证这 3 列中只有一列应该有值。如果不止一个是 notnull(),它应该是一个 False。
比如上面数据的输出应该是,
0 True
1 False
2 True
3 False
4 False
5 False
6 False
7 False
8 True
尝试做类似下面的事情是肯定行不通的:-
df= df[['col1', 'col2', 'col3']].notnull().any(axis=1)
我该如何处理。
请您参考如下方法:
df.isnull().sum(1).eq(2)
或:
df.isnull().sum(1).gt(1)
或:
df.notnull().sum(1).lt(2)
或:
df.notnull().sum(1).eq(1)
0 True
1 False
2 True
3 False
4 False
5 False
6 False
7 False
8 True
dtype: bool
