我有一个填充了 True 和 False 值的数据框,我想从中获取一个数据框,其中 True 替换为 1,False 替换为 np.NaN。我试过使用dataframe.replace,但它给了一个充满True的数据框。有没有办法在不使用 for 循环和 if 的情况下做到这一点?
例如,这是我拥有的数据框,T 表示 True,F 表示 False(不是字符串 'T' 和 'F';抱歉,无法弄清楚如何在 wiki 中格式化间隔良好的表格):
2008-01-02 16:00:00 TTF
2008-01-03 16:00:00 TTT
2008-01-04 16:00:00 TTF
2008-01-07 16:00:00 TTT
2008-01-08 16 :00:00 TTF
这就是我想将其更改为:
2008-01-02 16:00:00 1 1 np.NaN
2008-01-03 16:00:00 1 1 1
2008-01-04 16:00:00 1 1 np.NaN
2008-01-07 16: 00:00 1 1 1
2008-01-08 16:00:00 1 1 np.NaN
这些是我尝试替换 True 和 False 的行,并得到一个填充了所有 True 值的数据框:
df.replace(to_replace=True, value=1, inplace=True, method=None)
df.replace(to_replace=False, value=np.NAN, inplace=True, method=None)
单独尝试时,仅第一行不会改变任何东西;第二行将所有值转换为 True。