pandas如何将生日按星座分组 财富值49

2016-10-19 11:02发布

如题,有两点不明,还请大牛指导:

1.如何忽略生日中的年份只比较月和日 2.摩羯座是跨越两个年份的(12-22,1-19),如何处理呢

series

        birthday     0    2008-06-08     1    2008-11-09     2    2013-10-12     3    2002-09-28     4    2007-10-24     5    2012-08-27     6    2005-08-22     7    2008-04-12     8    2001-06-29     9    2009-07-23

dataframe

        constellationt    start    end     0    白羊座    3-21    4-19     1    金牛座    4-20    5-20     2    双子座    5-21    6-21     3    巨蟹座    6-22    7-22     4    狮子座    7-23    8-22     5    处女座    8-23    9-22     6    天秤座    9-23    10-23     7    天蝎座    10-24    11-21     8    射手座    11-22    12-21     9    摩羯座    12-22    1-19     10    水瓶座    1-20    2-18     11    双鱼座    2-19    3-20
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答

我们的目标是

mishen - whatsns产品经理
2楼-- · 2016-10-19 11:47

不懂简单算法,复杂版本就是先比较月份,然后比较日期,定位到星座。逻辑简单,代码好复杂。。。
忽略年份,所以快年也不是问题。

这个结构已经暴露了我们将要通过数值比较大小来确定所在星座的范围

经过处理

这样就得到了如上结果

分为三种,1 日期恰好在边界 2 日期在范围以内 3摩羯座的特殊情况

这是一道数据整形题,既然用到了Pandas就尽量避免循环,多用向量化的思想。

这样的一个数据组用apply是很方便做到的,接下来构思星座范围判断的逻辑,

mishen - whatsns产品经理
9楼-- · 2016-10-19 11:36

最后