【发布时间】:2015-08-22 10:37:35
【问题描述】:
如果我有一个 Dataframe 和 True/False 值只有这样:
df_mask = pd.DataFrame({'AAA': [True] * 4,
'BBB': [False]*4,
'CCC': [True, False, True, False]}); print(df_mask)
AAA BBB CCC
0 True False True
1 True False False
2 True False True
3 True False False
然后尝试打印dataframe 中的值等于False 的位置,如下所示:
print(df_mask[df_mask == False])
print(df_mask.where(df_mask == False))
我的问题是关于列CCC。列BBB 显示False(如我所料)但为什么index 列中的1 和3 等于CCC 等于0 而不是False?
AAA BBB CCC
0 NaN False NaN
1 NaN False 0
2 NaN False NaN
3 NaN False 0
AAA BBB CCC
0 NaN False NaN
1 NaN False 0
2 NaN False NaN
3 NaN False 0
为什么它不返回一个像这样的dataframe?
AAA BBB CCC
0 NaN False NaN
1 NaN False False
2 NaN False NaN
3 NaN False False
【问题讨论】:
-
这对我来说似乎是一个错误,你能把它作为一个问题发布到GitHub,谢谢
标签: python pandas boolean where dataframe