Advertisement
Guest User

argsort with nulls

a guest
Mar 4th, 2013
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import pandas, numpy, StringIO
  2.  
  3. txt = '''ID,RUN_START_DATE,PUSHUP_START_DATE,SITUP_START_DATE,PULLUP_START_DATE
  4. 1,2013-01-24,2013-01-02,,2013-02-03
  5. 2,2013-01-30,2013-01-21,2013-01-13,2013-01-06
  6. 3,2013-01-29,2013-01-28,2013-01-01,2013-01-29
  7. 4,2013-02-16,2013-02-12,2013-01-04,2013-02-11
  8. 5,2013-01-06,2013-02-07,2013-02-25,2013-02-12
  9. 6,2013-01-26,2013-01-28,2013-02-12,2013-01-10
  10. 7,2013-01-26,,2013-01-12,2013-01-30
  11. 8,2013-01-03,2013-01-24,2013-01-19,2013-01-02
  12. 9,2013-01-22,2013-01-13,2013-02-03,
  13. 10,2013-02-06,2013-01-16,2013-02-07,2013-01-11'''
  14. df = pandas.read_csv(StringIO.StringIO(txt))
  15. Bigdata_date_tofix = [c for c in df.columns if 'DATE' in c]
  16. df[Bigdata_date_tofix] = df[Bigdata_date_tofix].apply(pandas.to_datetime)
  17. as_indx = df[['RUN_START_DATE', 'PUSHUP_START_DATE', 'SITUP_START_DATE', 'PULLUP_START_DATE']].apply(numpy.argsort, axis=1)
  18.  
  19.  
  20.  
  21. ############# RESULT #####################
  22.  
  23. '''
  24.  
  25. RUN_START_DATE           PUSHUP_START_DATE            SITUP_START_DATE  \
  26. 0  1970-01-01 00:00:00         1970-01-01 00:00:00  2262-04-10 00:12:43.145224  
  27. 1                    3                           2                           1  
  28. 2                    2                           1                           0  
  29. 3                    2                           3                           1  
  30. 4                    0                           1                           3  
  31. 5                    3                           0                           1  
  32. 6  1970-01-01 00:00:00  2262-04-10 00:12:43.145224         1970-01-01 00:00:00  
  33. 7                    3                           0                           2  
  34. 8  1970-01-01 00:00:00         1970-01-01 00:00:00         1970-01-01 00:00:00  
  35. 9                    3                           1                           0  
  36.  
  37.            PULLUP_START_DATE  
  38. 0         1970-01-01 00:00:00  
  39. 1                           0  
  40. 2                           3  
  41. 3                           0  
  42. 4                           2  
  43. 5                           2  
  44. 6         1970-01-01 00:00:00  
  45. 7                           1  
  46. 8  2262-04-10 00:12:43.145224  
  47. 9                           2  
  48.  
  49. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement