我的问题比较简单,但我不确定有没有办法实现我想要的:
我需要将一些包含后续使用的时间间隔的数据存储在SQL数据库中。由于这个原因,我将其存储为字符串,格式如下:
variable interval
A (-0.001, 2.0]
A (2.0, 6.0]
那么,我想要使用这些间隔来切分另一个变量,就像这样:
df1 = pd.DataFrame({'interval': {4: '(-0.001, 2.0]',
5: '(2.0, 6.0]'},
'variable': {4: 'A',
5: 'A',
}})
df2 = pd.DataFrame({'A': [1,1,3]})
bins = df1[df1.variable.eq('A')].interval
new_series = pd.cut(df2['A'], bins=bins)
但这带来了:
ValueError: could not convert string to float: '(-0.001, 2.0]'
尝试过:
bins = bins.astype('interval')
这会带来:
TypeError: type <class 'str'> with value (-0.001, 2.0] is not an interval
有什么我可以做的吗?谢谢
(1.0, inf]
- Rômulo Férrer Filholeft, right = map(float, s.translate(table).replace('(', '').replace(')', '').split(', '))
而不是ast.literal_eval
行。 - Stefan