【发布时间】:2023-04-04 10:57:01
【问题描述】:
这是显式减法的结果
>> True - False
1
>> False - True
-1
这是pandas.Series.diff的结果
>> x = pd.Series([True,False,True])
>> x.diff()
0 NaN
1 True
2 True
dtype: object
但是,我希望得到
0 NaN
1 -1
2 1
dtype: object
为什么结果不同以及在这种情况下 pandas 如何处理 bool?
【问题讨论】:
-
我怀疑这也来自潜在的 Numpy 行为
np.diff(x.values) -
@JohnGalt 似乎是正确的。 github.com/numpy/numpy/issues/9251 这是一个 numpy 功能。 False - True 应该等于什么?为了确保,将 False 转换为 0,将 True 转换为 1,然后减去。
标签: python-3.x pandas boolean