熊猫:检查值错误是否在间隔内,错误消息:InvalidOperation:[<class'decimal.invalidoperation'=“”>]

时间:2019-02-11 16:47:47

标签: pandas

我的数据框如下:

target_price    interval
0.001767    [0.00318240, 0.00318624]
0.002978    [0.00318576, 0.00319673]
0.000174    [0.00319581, 0.00319617]
0.002740    [0.00318881, 0.00319617]

使用以下代码: for index,interval in df.iterrows(): if interval.target_price in interval.interval: df['check']= True

但是我收到以下错误消息:InvalidOperation: [<class 'decimal.InvalidOperation'>]

知道为什么吗?谢谢!

1 个答案:

答案 0 :(得分:1)

如果是list

df['check']=[y[0]<=x<=y[1] for x , y in zip(df.target_price,df.interval)]
Out[43]: [False, False, False, False]

如果是间隔

df['check']=[x in y for x , y in zip(df.target_price,df.interval)]

---更多信息

df.interval.apply(type)
Out[52]: 
0    <class 'pandas._libs.interval.Interval'>
1    <class 'pandas._libs.interval.Interval'>
2    <class 'pandas._libs.interval.Interval'>
3    <class 'pandas._libs.interval.Interval'>
Name: interval_1, dtype: object