检查数据系列列中的浮点数是否在另一列中另一个浮点数的 .200 范围内



抱歉,如果这个问题之前已经回答过,但我浏览了几个以前回答过的问题,但无法自己弄清楚。

到目前为止,我有:

df = pd.read_csv("CSVFILE.csv") 
df_close = pd.DataFrame(df.Close)

我的csv文件看起来像:

Open    High    Low     Close   Volume
133.795 137.610 132.905 137.275 165822.375

我想检查开盘价是否在收盘价的 .200 以内。即:如果开盘价为 133.795,收盘价在 133.995 和 133.595 之间,我希望程序告诉我。

非常感谢

你也可以

试试这个: 将 numpy 导入为 NP

df.loc[:,'new_column'] = np.where((df['Open'] <= df['Close'] + 0.2) & (df['Open'] >= df['Close'] - 0.2), 'In range', 'Not in range')

要仅过滤范围内的值:

df[df['new_column'] == 'In range']

Open    High    Low Close   Volume  new_column
1   133.795 137.61  132.905 133.994 165822.375  In range
2   133.795 137.61  132.905 133.596 165822.375  In range

使用 Series.between

print (df)
      Open    High      Low    Close      Volume
0  133.795  137.61  132.905  137.275  165822.375
1  133.795  137.61  132.905  133.994  165822.375
2  133.795  137.61  132.905  133.596  165822.375
m = df['Close'].between(df['Open'] - .2, df['Open'] + .2)
print (m)
0    False
1     True
2     True
dtype: bool

或:

a = df['Open'] - .2
b = df['Open'] + .2
m = (df['Close'] >= a ) & (df['Close'] <= b) 

最新更新