我的数据框如下:
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'>]
知道为什么吗?谢谢!
答案 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