gpt4 book ai didi

python - 根据条件用 0 和 1 替换数据帧中的值

转载 作者:行者123 更新时间:2023-12-01 02:22:00 24 4
gpt4 key购买 nike

我想过滤和替换。对于低于或高于零且不是 NaN 的列,我想将其设置为 1,将其他设置为零。

mask = ((ts[x] > 0) 
| (ts[x] < 0))
ts[mask]=1
ts[ts[x]==1]

我做到了这一点并且正在工作,但我必须处理不符合此条件的值替换为零。有什么建议吗?我很困惑,在这种情况下使用 where 函数会更好吗?

谢谢大家!

示例数据

    asset.relativeSetpoint.350
0 -60.0
1 0.0
2 NaN
3 100.0
4 0.0
5 NaN
6 -120.0
7 -245.0
8 0.0
9 123.0
10 0.0
11 -876.0

预期结果

    asset.relativeSetpoint.350
0 1
1 0
2 0
3 1
4 0
5 0
6 1
7 1
8 0
9 1
10 0
11 1

最佳答案

您可以通过对两个条件应用逻辑 AND 并将结果掩码转换为整数来实现此目的。

df

asset.relativeSetpoint.350
0 -60.0
1 0.0
2 NaN
3 100.0
4 0.0
5 NaN
6 -120.0
7 -245.0
8 0.0
9 123.0
10 0.0
11 -876.0
(df['asset.relativeSetpoint.350'].ne(0) 
& df['asset.relativeSetpoint.350'].notnull()).astype(int)

0 1
1 0
2 0
3 1
4 0
5 0
6 1
7 1
8 0
9 1
10 0
11 1
Name: asset.relativeSetpoint.350, dtype: int64
<小时/>

第一个条件 df['asset.relativeSetpoint.350'].ne(0) 获取所有不等于 0 的元素的 bool 掩码(这包括 <0、>0和 NaN)。

第二个条件df['asset.relativeSetpoint.350'].notnull()将获得非NaN元素的 bool 掩码。

将两个掩码进行 AND 运算,并转换为整数。

关于python - 根据条件用 0 和 1 替换数据帧中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47870863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com