我想根据两个不同的阈值创建1/0
或True/False
的数据框。我目前有一个这样的数据框:
col1 col2 col3 col4...
time
0 0.42 0.01 0.02 0.33
1 0.51 0.02 0.01 0.45
2 0.35 0.00 0.48 0.67
我想创建一个基于' on'的新数据框。阈值value > 0.4
和&#39;关闭&#39;阈值value < 0.3
:
col1 col2 col3 col4...
time
0 1 0 0 0
1 1 0 0 1
2 1 0 1 1
因此即使(time=2,col1)
小于0.4,它仍然取值1,因为它之前的值是1,并且该值大于0.3。
答案 0 :(得分:0)
threshold_func_last = 0
def reset_threshold_func():
global threshold_func_last
threshold_func_last = 0
def threshold_func(value):
global threshold_func_last
if value > 0.4:
threshold_func_last = 1
elif value < 0.3:
threshold_func_last = 0
return threshold_func_last
df_out = pd.DataFrame()
for column in df.columns:
reset_threshold_func()
df_out[column] = df[column].apply(threshold_func)