【发布时间】:2017-02-06 03:41:14
【问题描述】:
我有一系列男高音
Tenors = np.array(['10Y', '15Y', '1M', '1Y', '20Y', '2Y', '30Y', '3M', '5Y', '6M', '9M'])
M 代表月份,Y 代表年份。正确排序的顺序(升序)将是
['1M', '3M', '6M', '9M', '1Y', '2Y', '5Y', '10Y', '15Y', '20Y', '30Y']
如何使用 python 和 scipy/numpy 实现这一点?由于tenors 源自pandas 数据框,因此基于pandas 的解决方案也可以。
【问题讨论】:
-
制作男高音categorical data.
-
你能有一个“18M”的男高音值吗?
-
@Jim 原则上是的,但是 afaik 它没有在市场上使用。
-
顺便说一句,这是某种拖钓吗?
-
不,不是拖钓。 “18M”是否存在对解决方案的结构有很大影响。如果我们知道任何超过 11 个月的期限都将以年表示,那么我们可以自动假设所有以年表示的期限都将排在任何以月表示的期限之后。但是,如果允许“18M”,那么您需要可以为您提供的代码,例如
["1Y", "18M", "2Y"]。这是一个更复杂的问题。而且,您确定没有使用“18M”吗?我似乎记得有部分年份的票据(当我在银行工作时,18 个月是一个非常流行的术语)。
标签: python sorting pandas numpy finance