3

I have this data:

I need to perform a check in which for example in the yellow row I highlighted the StepRate2 is 3 and then StepRate3 is 2, when this happens I will have a new column called 'Step Check' with an 'X' for that row. Essentially we cannot have StepRates that all of a sudden go down.

I am totally new to Python and I need help on this. The output should look like this

Here is a copy of the data in a table

    StepDate1   StepRate1   StepDate2   StepRate2   StepDate3   StepRate3   StepDate4   StepRate4   StepDate5   StepRate5   StepDate6   StepRate6
    8/1/2011     2       8/1/2016       3        8/1/2017         4      8/1/2018      4.5       8/1/2020      4.5           0
    11/1/2014    2      11/1/2017      3        11/1/2018         4     
11/1/2019        5      11/1/2020      5.38          0
    5/1/2015     2       5/1/2018      3        9/1/2018          2      3/1/2019        3       3/1/2020      3.66          0
    11/1/2015    3.92    9/1/2018      3.92    11/1/2018          4.92  11/1/2019        4.92   11/1/2020      4.92    11/1/2021          6.75
    8/1/2014     2.5    8/1/2017       3.5      8/1/2018          4.5    8/1/2019        5.5    8/1/2020       6.5           0
    6/1/2010     2      6/1/2014       3        6/1/2015          4      6/1/2016        5      6/1/2020       5             0

Here is what I want the sample output to be

StepDate1   StepRate1   StepDate2   StepRate2   StepDate3   StepRate3   StepDate4   StepRate4   StepDate5   StepRate5   StepDate6   StepRate6   Step Check
8/1/2011    2   8/1/2016    3   8/1/2017    4   8/1/2018    4.5 8/1/2020    4.5     0   
11/1/2014   2   11/1/2017   3   11/1/2018   4   11/1/2019   5   11/1/2020   5.38        0   
5/1/2015    2   5/1/2018    3   9/1/2018    2   3/1/2019    3   3/1/2020    3.66        0   X
11/1/2015   3.92    9/1/2018    3.92    11/1/2018   4.92    11/1/2019   4.92    11/1/2020   4.92    11/1/2021   6.75    
8/1/2014    2.5 8/1/2017    3.5 8/1/2018    4.5 8/1/2019    5.5 8/1/2020    6.5     0   
6/1/2010    2   6/1/2014    3   6/1/2015    4   6/1/2016    5   6/1/2020    5       0   

Here is sample data:

{'StepRate1': {0: nan, 1: nan, 2: nan, 3: nan, 4: 8.45, 5: nan, 6: nan, 7: nan, 8: nan, 9: nan, 10: nan, 11: nan, 12: nan, 13: nan, 14: nan, 15: nan, 16: nan, 17: nan, 18: nan, 19: nan, 20: nan, 21: nan, 22: nan, 23: nan, 24: nan, 25: nan, 26: nan, 27: nan, 28: nan, 29: nan, 30: nan, 31: nan, 32: nan, 33: nan, 34: nan, 35: nan, 36: nan, 37: nan, 38: nan, 39: nan, 40: nan, 41: nan, 42: nan, 43: 6.0, 44: nan, 45: nan, 46: nan, 47: nan, 48: nan, 49: nan, 50: nan, 51: nan, 52: nan, 53: nan, 54: nan, 55: nan, 56: nan, 57: nan, 58: nan, 59: nan, 60: nan, 61: nan, 62: nan, 63: nan, 64: nan, 65: nan, 66: nan, 67: nan, 68: nan, 69: nan, 70: nan, 71: nan, 72: nan, 73: nan, 74: nan, 75: nan, 76: nan, 77: nan, 78: nan, 79: nan, 80: nan, 81: nan, 82: nan, 83: nan, 84: 3.75, 85: nan, 86: nan, 87: nan, 88: nan, 89: nan, 90: nan, 91: nan, 92: 4.75, 93: 3.0, 94: nan, 95: nan, 96: nan, 97: nan, 98: nan, 99: nan, 100: nan, 101: nan, 102: 4.7824, 103: nan, 104: nan, 105: 3.0, 106: nan, 107: nan, 108: nan, 109: nan, 110: nan, 111: nan, 112: nan, 113: nan, 114: nan, 115: nan, 116: nan, 117: nan, 118: 3.0, 119: nan, 120: 6.03, 121: nan, 122: nan, 123: 3.0, 124: 3.5, 125: 3.0, 126: nan, 127: nan, 128: nan, 129: nan, 130: 4.0, 131: 2.0, 132: nan, 133: nan, 134: 4.0, 135: 4.0, 136: 2.0, 137: nan, 138: nan, 139: nan, 140: nan, 141: 4.75, 142: 2.125, 143: 4.2, 144: 4.75, 145: 3.26, 146: nan, 147: 4.375, 148: 9.33, 149: 5.0, 150: nan, 151: 7.1, 152: nan, 153: 4.0, 154: 5.74, 155: 3.35, 156: nan, 157: nan, 158: nan, 159: 2.0, 160: nan, 161: 4.0, 162: nan, 163: nan, 164: nan, 165: 6.0, 166: 4.5, 167: 2.0, 168: nan, 169: nan, 170: nan, 171: nan, 172: 2.375, 173: nan, 174: nan, 175: nan, 176: 6.0, 177: nan, 178: nan, 179: 2.0, 180: nan, 181: nan, 182: nan, 183: nan, 184: nan, 185: nan, 186: 4.5, 187: nan, 188: 4.0, 189: nan, 190: nan, 191: nan, 192: nan, 193: nan, 194: nan, 195: 4.5, 196: 1.0, 197: nan, 198: nan, 199: 7.0, 200: nan, 201: 4.0, 202: nan, 203: nan, 204: nan, 205: nan, 206: nan, 207: nan, 208: nan, 209: nan,
210: nan, 211: 2.0, 212: nan, 213: nan, 214: 4.5, 215: nan, 216: 5.125, 217: 2.0, 218: nan, 219: nan, 220: nan, 221: nan, 222: nan, 223: 1.0, 224: 5.6, 225: 4.65, 226: nan, 227: nan, 228: nan, 229: 11.88, 230: 4.75, 231: 2.0, 232: 4.0, 233: nan, 234: nan, 235: nan, 236: 3.5, 237: nan, 238: nan, 239: nan, 240: nan, 241: nan, 242: nan, 243: nan, 244: nan, 245: nan, 246: nan, 247: 5.5, 248: nan, 249: nan, 250: nan, 251: nan, 252: nan, 253: 3.25, 254: nan, 255: nan, 256: nan, 257: nan, 258: nan, 259: nan, 260: nan, 261: 3.0, 262: nan, 263: 5.5, 264:
6.0, 265: nan, 266: nan, 267: nan, 268: nan, 269: 2.0, 270: nan, 271: nan, 272: 5.49, 273: nan, 274: 5.2, 275: nan, 276: nan, 277: 2.0, 278: 2.0, 279: 2.0, 280: 3.0, 281: nan, 282: 2.0, 283: 2.0, 284: 3.0, 285: nan, 286: nan, 287: 3.0, 288: 2.0, 289: nan, 290: nan, 291: nan, 292: nan, 293: 3.375, 294: nan, 295: 2.0, 296: 2.0, 297: 2.0, 298: nan, 299: 2.0, 300: 4.125, 301: nan, 302: 2.0, 303: nan, 304: 3.0, 305: nan, 306: 3.625, 307: nan, 308: nan, 309: nan, 310: nan, 311: nan, 312: nan, 313: 4.375, 314: nan, 315: nan, 316: nan, 317: nan, 318: 3.375, 319: nan, 320: 2.0, 321: nan, 322: nan, 323: nan, 324: nan, 325: nan, 326: nan, 327: nan, 328: nan, 329: 3.125, 330: nan, 331: nan, 332: nan, 333: nan, 334: nan, 335: nan, 336: nan, 337: nan, 338: nan, 339: nan, 340: nan, 341: 4.0, 342: nan, 343: nan, 344: nan, 345: nan, 346: nan, 347: nan, 348: nan, 349: nan, 350: 2.0, 351: nan, 352: nan, 353: nan, 354: 3.125,
355: nan, 356: nan, 357: nan, 358: 3.0, 359: 2.0, 360: 2.0, 361: nan, 362: 2.0, 363: nan, 364: nan, 365: 2.0, 366: nan, 367: nan, 368: nan, 369: nan, 370: 2.75, 371: nan, 372: nan, 373: nan, 374: nan, 375: nan, 376: nan, 377: nan, 378: 2.0, 379: 4.25, 380: nan, 381: nan, 382: 3.0, 383: nan, 384: 3.75, 385: nan, 386: nan, 387: nan, 388: nan, 389: 3.375, 390: nan, 391: nan, 392: nan, 393: nan, 394: 3.5, 395: 3.375, 396: nan, 397: 3.25, 398: nan, 399: nan, 400: nan, 401: nan, 402: nan, 403: nan, 404: nan, 405: 2.0, 406: nan, 407: nan, 408: nan, 409: nan, 410: 2.0, 411: nan, 412: nan, 413: nan, 414: nan, 415: 3.0, 416: nan, 417: 3.0, 418: nan, 419: nan, 420: 3.375, 421: nan, 422: 2.0, 423: nan, 424: nan, 425: nan, 426: nan, 427: nan, 428: nan, 429: nan, 430: nan, 431: 7.5, 432: nan, 433: 5.25, 434: nan, 435: nan, 436: 3.0, 437: 4.24, 438: nan, 439: nan, 440: nan, 441: nan, 442: nan, 443: 5.0, 444: nan, 445: nan, 446: 5.625, 447: nan, 448: nan, 449: 3.5, 450: nan, 451: 2.0, 452: nan, 453: nan, 454: 2.75, 455: 2.0, 456: nan, 457: nan, 458: 2.0, 459: nan, 460: nan, 461: 2.0, 462: nan, 463: 2.0, 464: 2.0, 465: nan, 466: nan, 467: nan, 468: 2.0, 469: 2.0, 470: nan, 471: nan, 472: 2.375, 473: 2.0, 474: 2.875, 475: 3.362, 476: nan, 477: 2.125, 478: 0.125, 479: 2.0, 480: nan, 481: nan, 482: nan, 483: 2.0, 484: nan, 485: nan, 486: nan, 487: nan, 488: nan, 489: nan, 490: nan, 491: 4.0, 492: nan, 493: nan, 494: nan, 495: nan, 496: 0.75, 497: nan, 498: 2.0, 499: nan, 500: nan, 501: nan, 502: nan, 503: nan, 504: 8.14, 505: nan, 506: 3.125, 507: nan, 508: nan, 509: 4.0, 510: nan, 511: nan, 512: nan, 513: nan, 514: nan, 515: 2.0, 516: nan, 517: 4.0, 518: nan, 519: nan, 520: 2.0, 521: nan, 522: nan, 523: nan, 524: nan, 525: 2.0, 526: 2.0, 527: nan, 528: nan, 529: nan, 530: nan, 531: nan, 532: nan, 533: nan, 534: nan, 535: 2.0, 536: nan, 537: 2.0, 538: nan, 539: 2.0, 540: nan, 541: 3.0, 542: nan, 543: nan, 544: 2.0, 545: nan, 546: nan, 547: 2.0, 548: 3.0, 549: 2.0, 550: nan, 551: 2.0, 552: 3.0, 553: nan, 554:
nan, 555: nan, 556: nan, 557: nan, 558: 2.0, 559: 2.0, 560: nan, 561: nan, 562: 2.0, 563: nan, 564: nan, 565: 2.875, 566: 2.0, 567: 2.0, 568: nan, 569: 1.5, 570: 2.0, 571: 2.0, 572: nan, 573: nan, 574: 2.0, 575: 2.0, 576: nan, 577: 3.0, 578: nan, 579: 2.0, 580: nan, 581: 2.875, 582: 2.0, 583: 2.25, 584: nan, 585: nan, 586: nan, 587: nan, 588: 2.0, 589: nan, 590: nan, 591: 2.625, 592: 2.0, 593: 2.0, 594: nan, 595: 3.0, 596: nan, 597: nan, 598: nan, 599: nan, 600: 6.375, 601: nan, 602: nan, 603: nan, 604: 2.0, 605: 2.0, 606: 2.0, 607: 2.905, 608: 4.219, 609: nan, 610: 2.0, 611: 3.042, 612: nan, 613: 2.003, 614: 2.0, 615: 2.0, 616: 2.0, 617: 3.282, 618: nan, 619: 5.087, 620: nan, 621: nan, 622: nan, 623: nan, 624: 5.859, 625: nan, 626: 2.551, 627: nan, 628: 3.242, 629: nan, 630: nan, 631: 2.0, 632: 2.114, 633: 3.456, 634: 2.0, 635: nan, 636: 5.06, 637: 5.671, 638: 3.63, 639: nan, 640: nan, 641: 5.144, 642: 2.511, 643: 2.573, 644: nan, 645: nan, 646: 4.09, 647: nan, 648: 2.03, 649: 3.92, 650: 2.922, 651: 3.145, 652: nan, 653: nan, 654: 5.166, 655: nan, 656: 2.5, 657: nan, 658: 2.0, 659: nan, 660: 5.483, 661: nan, 662: nan, 663: nan, 664: nan, 665: 2.0, 666: nan, 667: 2.0, 668: 3.961, 669: 6.04, 670: 4.672, 671: 2.0, 672: 2.0, 673: nan, 674: 2.695, 675: nan, 676: 2.0, 677: nan, 678: 5.226, 679: nan, 680: 2.595, 681: nan, 682: 2.0, 683: nan, 684: nan, 685: nan, 686: nan, 687: 5.27, 688: nan, 689: 3.625, 690: 5.25, 691: 2.0, 692: 5.0, 693: nan, 694: 3.532, 695: 3.51, 696: 2.578, 697: 4.84, 698: 4.26, 699: 4.62, 700: 6.09, 701: nan, 702: nan, 703: 2.0, 704: nan, 705: nan, 706: nan, 707: 6.68, 708: 3.0, 709: 3.0, 710: nan, 711: nan, 712: nan, 713: 2.0, 714: 4.972, 715: 2.0, 716: 2.0, 717: 3.0, 718: 3.375, 719: nan, 720: 3.5, 721: nan, 722: 3.125, 723: 4.0, 724: nan, 725: 3.625, 726: nan, 727: 3.18, 728: 4.0, 729: 2.0, 730: 3.375, 731: 3.302, 732: 2.0, 733: nan, 734: 2.193, 735: 2.0, 736: nan, 737: nan, 738: nan, 739: nan, 740: nan, 741: nan, 742: 2.0, 743: nan, 744: 2.25, 745: 2.0, 746: 2.23, 747:
2.0, 748: 3.375, 749: 3.0, 750: 2.125, 751: nan, 752: 2.999, 753: nan, 754: nan, 755: nan, 756: nan, 757: nan, 758: nan, 759: 2.43, 760: 4.875, 761: 3.868, 762: 3.847, 763: 2.0, 764: 2.441, 765: 2.0, 766: nan, 767: nan, 768: nan, 769: nan, 770: nan, 771: nan, 772: nan, 773: nan, 774: nan, 775: nan, 776: nan, 777: nan, 778: nan, 779: 3.125, 780: nan, 781: nan, 782: nan, 783: nan, 784: nan, 785: 2.0, 786: nan, 787: nan, 788: nan, 789: nan, 790: nan, 791: nan, 792: nan, 793: nan, 794: nan, 795: nan, 796: nan, 797: nan, 798: nan, 799: nan, 800: nan,
801: 2.0, 802: 2.0, 803: 2.5, 804: 3.625, 805: 2.0, 806: 3.625, 807: 2.0, 808: 2.0, 809: 2.0, 810: nan, 811: 2.75, 812: 2.0, 813: 2.0, 814: nan, 815: 4.0, 816: nan, 817: nan, 818: nan, 819: nan, 820: 4.5, 821: nan, 822: nan, 823: nan, 824: 2.836, 825: nan, 826: nan, 827: 2.0, 828: 2.25, 829: nan, 830: nan, 831: 3.525, 832: 3.21, 833: nan, 834: 2.978, 835: nan, 836:
2.0, 837: 3.687, 838: 2.0, 839: 2.6, 840: nan, 841: 3.042, 842: 2.458, 843: 2.0, 844: nan, 845: 3.432, 846: nan, 847: 2.57, 848: nan, 849: 2.083, 850: nan, 851: nan, 852: nan, 853: nan, 854: 2.0, 855: nan, 856: 4.79, 857: 2.0, 858: 3.091, 859: nan, 860: 4.134, 861: nan, 862: 2.761, 863: nan, 864: 2.489, 865: nan, 866: 3.375, 867: nan, 868: nan, 869: 3.749, 870: nan, 871: 2.875, 872: nan, 873: 5.735, 874: 4.66, 875: 2.0, 876: 2.0, 877: nan, 878: 2.125, 879: nan, 880: 2.875, 881: 2.0, 882: nan, 883: 2.0, 884: 4.309, 885: nan, 886: 2.0, 887: nan, 888: nan, 889: 4.954, 890: 2.0, 891: 2.0, 892: 2.9, 893: 2.0, 894: nan, 895: 2.0, 896: 2.0, 897: nan, 898: nan, 899: nan, 900: 3.485, 901: nan, 902: nan, 903: nan, 904: 3.323, 905: nan,
906: nan, 907: nan, 908: 2.0, 909: nan, 910: 3.873, 911: 5.236, 912: 4.542, 913: 3.765, 914: 2.0, 915: nan, 916: nan, 917: 2.0, 918: nan, 919: 3.0, 920: 4.788, 921: nan, 922: 3.307, 923: 2.0, 924: 3.688, 925: nan, 926: nan, 927: 3.56, 928: 4.67, 929: nan, 930: 3.764, 931: nan, 932: 2.0, 933: 2.0, 934: 2.0, 935: 3.077, 936: nan, 937: 3.635, 938: 2.549, 939: nan, 940: nan, 941: 4.757, 942: 2.75, 943: 2.625, 944: 2.0, 945: 4.144, 946: 2.0, 947: 2.0, 948: 3.125, 949: 5.04, 950: nan, 951: 2.0, 952: nan, 953: nan, 954: 3.375, 955: 3.62, 956: nan, 957:
2.0, 958: 3.286, 959: 2.0, 960: 3.5, 961: 2.125, 962: nan, 963: nan, 964: 2.999, 965: 3.625, 966: 4.18, 967: nan, 968: 4.104, 969: 2.0, 970: 3.462, 971: nan, 972: 2.0, 973: nan, 974: nan, 975: nan, 976: 2.0, 977: nan, 978: nan, 979: nan, 980: 3.407, 981: nan, 982: 2.0, 983: nan, 984: 2.0, 985: nan, 986: 3.25, 987: 3.125, 988: 3.0, 989: nan, 990: nan, 991: 2.0, 992:
nan, 993: 3.36, 994: 2.55, 995: nan, 996: 5.658, 997: nan, 998: 3.562, 999: 2.0, 1000: nan, 1001: nan, 1002: 2.0, 1003: nan, 1004: nan, 1005: nan, 1006: 3.608, 1007: nan, 1008: nan, 1009: nan, 1010: 4.0, 1011: 2.625, 1012: 2.0, 1013: 2.751, 1014: nan, 1015: nan, 1016: 2.5, 1017: nan, 1018: nan, 1019: 6.288, 1020: 2.0, 1021: nan, 1022: 2.515, 1023: nan, 1024: 2.0, 1025: 4.055, 1026: 2.0, 1027: 4.0, 1028: 2.588, 1029: 2.0, 1030: 2.0, 1031: 2.0, 1032: nan, 1033: 4.0, 1034: 2.0, 1035: 2.0, 1036: 2.57, 1037: 2.0, 1038: 2.308, 1039: nan, 1040: nan, 1041: 3.834, 1042: nan, 1043: 2.62, 1044: 2.0, 1045: 2.0, 1046: 2.0, 1047: nan, 1048: 2.446, 1049: 3.573, 1050: nan, 1051: nan, 1052: nan, 1053: nan, 1054: nan, 1055: 2.0, 1056: 2.0, 1057: 3.3, 1058: nan, 1059: 2.764, 1060: nan, 1061: 3.476, 1062: 2.0, 1063: nan, 1064: nan, 1065: nan, 1066: 2.0, 1067: 2.0, 1068: nan, 1069: nan, 1070: 2.0, 1071: nan, 1072: nan, 1073: nan, 1074: nan, 1075: 2.0, 1076: 2.0, 1077: 2.0, 1078: 2.0, 1079: 2.0, 1080: nan, 1081: 2.0, 1082: nan, 1083: 2.0, 1084: 2.0, 1085: 2.0, 1086: 2.706, 1087: 2.0, 1088: 2.997, 1089: nan, 1090: 2.0, 1091: nan, 1092: nan, 1093: nan, 1094: 2.0, 1095: nan, 1096: nan, 1097: 4.0, 1098: nan, 1099: 3.875, 1100: nan, 1101: 3.375, 1102: nan, 1103: nan, 1104: nan, 1105: nan, 1106: nan, 1107: 3.125, 1108: nan, 1109: nan, 1110: nan, 1111: 2.625, 1112: nan, 1113: nan, 1114: nan, 1115: nan, 1116: nan, 1117: nan, 1118: nan, 1119: nan, 1120: 2.0, 1121: nan, 1122: nan, 1123: 2.0, 1124: nan, 1125: 2.0, 1126: 2.25, 1127: nan, 1128: nan, 1129: 2.0, 1130: nan, 1131: nan, 1132: 0.25, 1133: nan, 1134: nan, 1135: 2.125, 1136: nan, 1137: nan, 1138: 2.0, 1139: nan, 1140: nan, 1141: nan, 1142: nan, 1143: nan, 1144: nan, 1145: 7.0, 1146: nan, 1147: nan, 1148: nan, 1149: nan, 1150: 3.0, 1151: nan, 1152: nan, 1153: nan, 1154: nan, 1155: 5.0, 1156: nan, 1157: nan, 1158: 4.0, 1159: nan, 1160: nan, 1161: nan, 1162: nan, 1163: nan, 1164: nan, 1165: nan, 1166: nan, 1167: nan, 1168: nan, 1169: nan, 1170: 3.5, 1171: nan, 1172: nan, 1173: nan, 1174: nan, 1175: nan, 1176: nan, 1177: 3.725, 1178: 3.625, 1179: nan, 1180: nan, 1181: nan, 1182: 2.0, 1183: 2.0, 1184: 2.0, 1185: 2.0, 1186: nan, 1187: 2.0, 1188: nan,
1189: nan, 1190: nan, 1191: nan, 1192: nan, 1193: 3.25, 1194: nan, 1195: nan, 1196: 3.0, 1197: nan, 1198: 3.0, 1199: nan, 1200: nan, 1201: 3.0, 1202: nan, 1203: nan, 1204: nan, 1205: nan, 1206: nan, 1207: nan, 1208: nan, 1209: 3.125, 1210: nan, 1211: 4.5, 1212: nan, 1213: nan, 1214: nan, 1215: nan, 1216: nan, 1217: nan, 1218: nan, 1219: nan, 1220: nan, 1221: nan, 1222: nan, 1223: nan, 1224: nan, 1225: nan, 1226: nan, 1227: nan, 1228: 4.0, 1229: nan, 1230: nan, 1231: nan, 1232: nan, 1233: nan, 1234: nan, 1235: 3.4, 1236: nan, 1237: nan, 1238: nan, 1239: nan, 1240: nan, 1241: nan, 1242: nan, 1243: nan, 1244: nan, 1245: nan, 1246: nan, 1247: nan, 1248: nan, 1249: nan, 1250: nan, 1251: nan, 1252: nan, 1253: nan, 1254: nan, 1255: nan, 1256: nan, 1257: nan, 1258: nan, 1259: nan, 1260: nan, 1261: nan, 1262: nan, 1263: nan, 1264: nan, 1265: nan, 1266: nan, 1267: nan, 1268: nan, 1269: nan, 1270: nan, 1271: nan, 1272: 2.0, 1273: 2.125, 1274: nan, 1275: nan, 1276: nan, 1277: nan, 1278: nan, 1279: nan, 1280: nan, 1281: nan, 1282: nan, 1283: nan, 1284: nan, 1285: nan, 1286: nan, 1287: nan, 1288: nan, 1289: nan, 1290: nan, 1291: nan, 1292: nan, 1293: nan, 1294: nan, 1295: nan, 1296: 6.0, 1297: nan, 1298: nan, 1299: nan, 1300: nan, 1301: nan, 1302: nan, 1303: nan, 1304: nan, 1305: nan, 1306: nan, 1307: nan, 1308: nan, 1309: nan, 1310: nan, 1311: nan, 1312: nan, 1313: nan, 1314: nan, 1315: nan, 1316: nan, 1317: nan, 1318: nan, 1319: 2.0, 1320: nan, 1321: nan, 1322: 2.0, 1323: nan, 1324: nan, 1325: nan, 1326: nan, 1327: nan, 1328: nan, 1329: nan, 1330: 2.0, 1331: nan, 1332: nan, 1333: nan, 1334: nan, 1335: nan, 1336: nan, 1337: nan, 1338: nan, 1339: nan, 1340: nan, 1341: nan, 1342: nan, 1343: nan, 1344: nan, 1345: nan, 1346: 8.75, 1347: nan, 1348: nan, 1349: 8.99, 1350: nan, 1351: nan, 1352: nan, 1353: nan, 1354: nan, 1355: nan}, 'StepRate2': {0: nan, 1: nan, 2: nan, 3: nan, 4: '', 5: nan, 6: nan, 7: nan, 8: nan, 9: nan, 10: nan, 11: nan, 12: nan, 13: nan, 14: nan, 15: nan, 16: nan, 17: nan, 18: nan, 19: nan, 20: nan, 21: nan, 22: nan, 23: nan, 24: nan, 25: nan, 26: nan, 27: nan, 28: nan, 29: nan, 30: nan, 31: nan, 32: nan, 33: nan, 34: nan, 35: nan, 36: nan, 37: nan, 38: nan, 39: nan,
40: nan, 41: nan, 42: nan, 43: 7.0, 44: nan, 45: nan, 46: nan, 47: nan, 48: nan, 49: nan, 50: nan, 51: nan, 52: nan, 53: nan, 54: nan, 55: nan, 56: nan, 57: nan, 58: nan, 59: nan, 60:
nan, 61: nan, 62: nan, 63: nan, 64: nan, 65: nan, 66: nan, 67: nan, 68: nan, 69: nan, 70: nan, 71: nan, 72: nan, 73: nan, 74: nan, 75: nan, 76: nan, 77: nan, 78: nan, 79: nan, 80: nan, 81: nan, 82: nan, 83: nan, 84: 4.75, 85: nan, 86: nan, 87: nan, 88: nan, 89: nan, 90: nan, 91: nan, 92: 4.75, 93: 4.0, 94: nan, 95: nan, 96: nan, 97: nan, 98: nan, 99: nan, 100: nan,
101: nan, 102: 6.3459, 103: nan, 104: nan, 105: 4.0, 106: nan, 107: nan, 108: nan, 109: nan, 110: nan, 111: nan, 112: nan, 113: nan, 114: nan, 115: nan, 116: nan, 117: nan, 118: 4.0, 119: nan, 120: '', 121: nan, 122: nan, 123: 4.0, 124: 4.0, 125: 4.0, 126: nan, 127: nan, 128: nan, 129: nan, 130: '', 131: 9.57, 132: nan, 133: nan, 134: 5.5, 135: 4.5, 136: 3.0, 137: nan, 138: nan, 139: nan, 140: nan, 141: 5.25, 142: 3.125, 143: 5.0, 144: 4.5, 145: 5.25, 146: nan, 147: '', 148: '', 149: 9.887, 150: nan, 151: 9.6, 152: nan, 153: 11.99, 154: 11.74, 155: 5.5, 156: nan, 157: nan, 158: nan, 159: 3.0, 160: nan, 161: 8.34, 162: nan, 163: nan, 164: nan, 165: 9.39, 166: 10.0, 167: 3.0, 168: nan, 169: nan, 170: nan, 171: nan, 172: 9.99, 173: nan, 174: nan, 175: nan, 176: 8.385, 177: nan, 178: nan, 179: 3.0, 180: nan, 181: nan, 182: nan, 183: nan, 184: nan, 185: nan, 186: '', 187: nan, 188: 7.48, 189: nan, 190: nan, 191: nan, 192: nan, 193: nan, 194: nan, 195: '', 196: 6.0, 197: nan, 198: nan, 199: 9.54, 200: nan, 201: 4.0, 202: nan, 203: nan, 204: nan, 205: nan, 206: nan, 207: nan, 208: nan, 209: nan, 210: nan, 211: 3.0, 212: nan, 213: nan, 214: 5.0, 215: nan, 216: 9.65, 217: 3.0, 218: nan, 219: nan, 220: nan, 221: nan, 222: nan, 223: 7.45, 224: 7.98, 225: 6.8, 226: nan, 227: nan, 228: nan, 229: '', 230: '', 231: 3.0, 232: 8.385, 233: nan, 234: nan, 235: nan, 236: '', 237: nan, 238: nan, 239: nan, 240: nan, 241: nan, 242: nan, 243: nan, 244: nan, 245: nan, 246: nan, 247: 5.5, 248: nan, 249: nan, 250: nan, 251: nan, 252: nan, 253: 4.0, 254: nan, 255: nan, 256: nan, 257: nan, 258: nan, 259: nan, 260: nan, 261: 4.0, 262: nan, 263: 5.125, 264: 9.033, 265: nan, 266: nan, 267: nan, 268: nan, 269: 3.0, 270: nan, 271: nan, 272: 5.75, 273: nan, 274: 5.25, 275: nan, 276: nan, 277: 3.0, 278: 3.0, 279: 3.0, 280: 4.0, 281: nan, 282: 3.0, 283: 3.0, 284: 4.0, 285: nan, 286: nan, 287: 4.0, 288: 3.0, 289: nan, 290: nan, 291: nan, 292: nan, 293: 4.375, 294: nan, 295: 3.0, 296: 3.0, 297: 3.0, 298: nan, 299: 3.0, 300: 4.25, 301: nan, 302: 3.0, 303: nan, 304: 3.375, 305: nan, 306: 4.0, 307: nan, 308: nan, 309: nan, 310: nan, 311: nan, 312: nan, 313: 4.5, 314: nan, 315: nan, 316: nan, 317: nan, 318: 4.25, 319: nan, 320: 3.0, 321: nan, 322: nan, 323: nan, 324: nan, 325: nan, 326: nan, 327: nan, 328: nan, 329: 4.125, 330: nan, 331: nan, 332: nan, 333: nan, 334: nan, 335: nan, 336: nan,
337: nan, 338: nan, 339: nan, 340: nan, 341: 4.0, 342: nan, 343: nan, 344: nan, 345: nan, 346: nan, 347: nan, 348: nan, 349: nan, 350: 3.0, 351: nan, 352: nan, 353: nan, 354: 3.625, 355: nan, 356: nan, 357: nan, 358: 3.375, 359: 3.0, 360: 3.0, 361: nan, 362: 3.0, 363: nan, 364: nan, 365: 3.0, 366: nan, 367: nan, 368: nan, 369: nan, 370: 3.75, 371: nan, 372: nan, 373: nan, 374: nan, 375: nan, 376: nan, 377: nan, 378: 3.0, 379: 4.75, 380: nan, 381: nan, 382: 3.625, 383: nan, 384: 4.625, 385: nan, 386: nan, 387: nan, 388: nan, 389: 3.625, 390: nan,
391: nan, 392: nan, 393: nan, 394: 4.5, 395: 4.25, 396: nan, 397: 3.625, 398: nan, 399: nan, 400: nan, 401: nan, 402: nan, 403: nan, 404: nan, 405: 3.0, 406: nan, 407: nan, 408: nan, 409: nan, 410: 3.0, 411: nan, 412: nan, 413: nan, 414: nan, 415: 3.5, 416: nan, 417: 3.5, 418: nan, 419: nan, 420: 3.5, 421: nan, 422: 3.0, 423: nan, 424: nan, 425: nan, 426: nan, 427:
nan, 428: nan, 429: nan, 430: nan, 431: 8.5, 432: nan, 433: '', 434: nan, 435: nan, 436: 5.0, 437: 5.24, 438: nan, 439: nan, 440: nan, 441: nan, 442: nan, 443: 7.999, 444: nan, 445: nan, 446: 6.625, 447: nan, 448: nan, 449: 4.0, 450: nan, 451: 3.0, 452: nan, 453: nan, 454: 3.75, 455: 3.5, 456: nan, 457: nan, 458: 3.0, 459: nan, 460: nan, 461: 3.0, 462: nan, 463: 3.0, 464: 3.0, 465: nan, 466: nan, 467: nan, 468: 3.0, 469: 3.0, 470: nan, 471: nan, 472: 3.375, 473: 3.0, 474: 3.0, 475: 3.75, 476: nan, 477: 3.125, 478: 2.5, 479: 3.0, 480: nan, 481: nan, 482: nan, 483: 3.0, 484: nan, 485: nan, 486: nan, 487: nan, 488: nan, 489: nan, 490: nan, 491: 5.0, 492: nan, 493: nan, 494: nan, 495: nan, 496: 4.0, 497: nan, 498: 3.0, 499: nan, 500: nan, 501: nan, 502: nan, 503: nan, 504: '', 505: nan, 506: 3.5, 507: nan, 508: nan, 509: 4.125, 510: nan, 511: nan, 512: nan, 513: nan, 514: nan, 515: 3.0, 516: nan, 517: 7.6, 518: nan, 519: nan, 520: 3.0, 521: nan, 522: nan, 523: nan, 524: nan, 525: 3.0, 526: 3.0, 527: nan, 528: nan, 529: nan, 530: nan, 531: nan, 532: nan, 533: nan, 534: nan, 535: 3.0, 536: nan, 537: 3.0, 538: nan, 539: 3.0, 540: nan, 541: 4.0, 542: nan, 543: nan, 544: 3.0, 545: nan, 546: nan, 547: 3.0, 548: 4.0, 549: 3.0, 550: nan, 551: 3.0, 552: 3.75, 553: nan, 554: nan, 555: nan, 556: nan, 557: nan, 558: 3.0, 559: 3.0, 560: nan, 561: nan, 562: 3.0, 563: nan, 564: nan, 565: 2.875, 566: 3.0, 567: 3.0, 568: nan, 569: 2.5, 570: 3.0, 571: 3.0, 572: nan, 573: nan, 574: 3.0, 575: 3.0, 576: nan, 577: 3.875, 578: nan, 579: 3.0, 580: nan, 581: 3.875, 582: 3.0, 583: 3.25, 584: nan, 585: nan, 586: nan, 587: nan, 588: 2.0, 589: nan, 590: nan, 591: 2.625, 592: 3.0, 593: 3.0, 594: nan, 595: 4.0, 596: nan, 597: nan, 598: nan, 599: nan, 600: 6.375, 601: nan, 602: nan, 603: nan, 604: 4.0, 605: 3.0, 606: 3.0, 607: 3.905, 608: 5.219, 609: nan, 610: 3.0, 611: 4.042, 612: nan, 613: 3.003, 614: 3.0, 615: 3.0, 616: 3.0, 617: 4.282, 618: nan, 619: 5.25, 620: nan, 621: nan, 622: nan, 623: nan, 624: 6.859, 625: nan, 626: 3.551, 627: nan, 628: 4.0, 629: nan, 630: nan, 631: 3.0, 632: 2.114, 633: 4.456, 634: 2.0, 635: nan, 636: 6.06, 637: 6.671, 638: 3.63, 639: nan, 640: nan, 641: 6.144, 642: 2.511, 643: 2.573, 644: nan, 645: nan, 646: 5.09, 647: nan, 648: 3.03, 649: 3.92, 650: 2.922, 651: 4.145, 652: nan, 653: nan, 654: 6.166, 655: nan, 656: 3.5, 657: nan, 658: 3.0, 659: nan, 660: 6.25, 661: nan, 662: nan, 663: nan, 664: nan, 665: 3.0, 666: nan, 667: 3.0, 668: 4.07, 669: 7.04, 670: 5.672, 671: 3.0, 672: 3.0, 673: nan, 674: 3.43, 675: nan, 676: 3.0, 677: nan, 678: 6.226, 679: nan, 680: 3.595, 681: nan, 682: 3.0, 683: nan, 684: nan, 685: nan, 686: nan, 687: 6.27, 688: nan, 689: 4.25, 690: 6.25, 691: 3.0, 692: 6.0, 693: nan, 694: 4.532, 695: 4.26, 696: 2.678, 697: 5.0, 698: 4.6, 699: 4.63, 700: 7.09, 701: nan, 702: nan, 703: 3.0, 704: nan, 705: nan, 706: nan, 707: 6.68, 708: 4.0, 709: 3.43, 710: nan, 711: nan, 712: nan, 713: 3.0, 714: 5.13, 715: 3.0, 716: 3.0, 717: 4.0, 718: 4.04, 719: nan, 720: 3.59, 721: nan, 722: 4.125, 723: 5.0, 724: nan, 725: 4.625, 726: nan, 727: 4.12, 728: 5.0, 729: 3.0, 730: 4.01, 731: 4.0, 732: 3.625, 733: nan, 734: 2.193, 735: 3.0, 736: nan, 737: nan, 738: nan, 739: nan, 740: nan, 741: nan, 742: 3.0, 743: nan, 744: 3.25, 745: 3.0, 746: 3.23, 747: 3.0, 748: 4.375, 749: 4.0, 750: 3.125, 751: nan, 752: 3.72, 753: nan, 754: nan, 755: nan, 756: nan, 757: nan, 758: nan, 759: 7.0, 760: 4.88, 761: 3.87, 762: 4.847, 763: 3.0, 764: 3.441, 765: 3.0, 766: nan, 767: nan, 768: nan, 769: nan, 770: nan, 771: nan, 772: nan, 773: nan, 774: nan, 775: nan, 776: nan, 777: nan, 778: nan, 779: 4.125, 780: nan, 781: nan, 782: nan, 783: nan, 784: nan, 785: 3.0, 786: nan, 787: nan, 788: nan, 789: nan, 790: nan, 791: nan, 792: nan, 793: nan, 794: nan, 795: nan, 796: nan, 797: nan, 798: nan, 799: nan, 800: nan, 801: 3.0, 802: 3.0, 803: 3.5, 804: 4.625, 805: 3.0, 806: 4.625, 807: 3.0, 808: 3.0, 809: 3.0, 810: nan, 811: 3.75, 812: 3.0, 813: 3.0, 814: nan, 815: 4.0, 816: nan, 817: nan, 818: nan, 819: nan, 820: 5.5, 821: nan, 822: nan, 823: nan, 824: 3.75, 825: nan, 826: nan, 827: 3.0, 828: 3.25, 829: nan, 830: nan, 831: 3.86, 832: 4.0, 833: nan, 834: 3.978, 835: nan, 836: 3.0, 837: 4.687, 838: 3.0, 839: 3.6, 840: nan, 841: 4.042, 842: 3.43, 843: 3.0, 844: nan, 845: 4.432, 846: nan, 847: 3.57, 848: nan, 849: 3.083, 850: nan, 851: nan, 852: nan, 853: nan, 854: 3.0, 855: nan,
856: 5.794, 857: 3.0, 858: 4.091, 859: nan, 860: 5.134, 861: nan, 862: 3.5, 863: nan, 864: 3.489, 865: nan, 866: 3.625, 867: nan, 868: nan, 869: 3.75, 870: nan, 871: 3.875, 872: nan, 873: 6.735, 874: 5.66, 875: 3.0, 876: 3.0, 877: nan, 878: 4.01, 879: nan, 880: 3.875, 881: 3.0, 882: nan, 883: 3.0, 884: 5.309, 885: nan, 886: 3.0, 887: nan, 888: nan, 889: 5.25, 890: 3.0, 891: 3.0, 892: 3.875, 893: 3.0, 894: nan, 895: 3.0, 896: 3.0, 897: nan, 898: nan, 899: nan, 900: 4.485, 901: nan, 902: nan, 903: nan, 904: 3.504, 905: nan, 906: nan, 907: nan, 908: 3.0, 909: nan, 910: 4.25, 911: 6.236, 912: 5.542, 913: 4.0, 914: 3.0, 915: nan, 916: nan, 917: 3.0, 918: nan, 919: 3.75, 920: 5.788, 921: nan, 922: 4.307, 923: 3.0, 924: 4.688, 925: nan, 926: nan, 927: 3.88, 928: 5.67, 929: nan, 930: 4.764, 931: nan, 932: 3.0, 933: 3.0, 934: 3.0, 935: 4.077, 936: nan, 937: 4.635, 938: 3.549, 939: nan, 940: nan, 941: 5.757, 942: 3.5, 943: 3.625, 944: 3.0, 945: 5.144, 946: 3.0, 947: 2.797, 948: 3.64, 949: 6.0, 950: nan, 951: 3.0, 952: nan, 953: nan, 954: 3.41, 955: 4.0, 956: nan, 957: 3.0, 958: 3.5, 959: 2.613, 960: 3.875, 961: 3.125, 962: nan, 963: nan, 964: 3.41, 965: 3.64, 966: 5.18, 967: nan, 968: 4.75, 969: 3.0, 970: 4.105, 971: nan, 972: 3.0, 973: nan, 974: nan, 975: nan, 976: 3.0, 977: nan, 978: nan, 979: nan, 980: 4.407, 981: nan, 982: 3.0, 983: nan, 984: 3.0, 985: nan, 986: 4.25, 987: 4.0, 988: 3.43, 989: nan, 990: nan, 991: 3.0, 992: nan, 993: 4.36, 994: 3.55, 995: nan, 996: 6.46, 997: nan, 998: 4.562, 999: 3.0, 1000: nan, 1001: nan, 1002: 3.0, 1003: nan, 1004: nan, 1005: nan, 1006: 4.608, 1007: nan, 1008: nan, 1009: nan, 1010: 4.51, 1011: 3.625, 1012: 3.0, 1013: 3.5, 1014: nan, 1015: nan, 1016: 3.5, 1017: nan, 1018: nan, 1019: 7.288, 1020: 3.0, 1021: nan, 1022: 3.515, 1023: nan, 1024: 3.0, 1025: 4.125, 1026: 3.0, 1027: 4.08, 1028: 3.375, 1029: 3.0, 1030: 3.0, 1031: 3.0, 1032: nan, 1033: 4.25, 1034: 3.0, 1035: 3.0, 1036: 3.57, 1037: 3.0, 1038: 3.308, 1039: nan, 1040: nan, 1041: 4.125, 1042: nan, 1043: 3.5, 1044: 3.0, 1045: 2.969, 1046: 3.0, 1047: nan, 1048: 3.446, 1049: 4.5, 1050: nan, 1051: nan, 1052: nan, 1053: nan, 1054: nan, 1055: 3.0, 1056: 3.0, 1057: 3.306, 1058: nan, 1059: 3.764, 1060: nan, 1061: 3.8, 1062: 3.0, 1063: nan, 1064: nan, 1065: nan, 1066: 3.0, 1067: 3.0, 1068: nan, 1069: nan, 1070: 3.0, 1071: nan, 1072: nan, 1073: nan, 1074: nan, 1075: 3.0, 1076: 3.0, 1077: 3.0, 1078: 3.0, 1079: 3.0, 1080: nan, 1081: 2.491, 1082: nan, 1083: 3.0, 1084: 3.0, 1085: 3.0, 1086: 3.706, 1087: 3.0, 1088: 3.997, 1089: nan, 1090: 2.37, 1091: nan, 1092: nan, 1093: nan, 1094: 3.0, 1095: nan, 1096: nan, 1097: 4.0, 1098: nan, 1099: 4.5, 1100: nan, 1101: 4.25, 1102: nan, 1103: nan, 1104: nan, 1105: nan, 1106: nan, 1107: 4.125, 1108: nan, 1109: nan, 1110: nan, 1111: 3.625, 1112: nan, 1113: nan, 1114: nan, 1115: nan, 1116: nan, 1117: nan, 1118: nan, 1119: nan, 1120: 3.0, 1121: nan, 1122: nan, 1123: 3.0, 1124: nan, 1125: 3.0, 1126: 3.25, 1127: nan, 1128: nan, 1129: 2.0, 1130: nan, 1131: nan, 1132: 1.25, 1133: nan, 1134: nan, 1135: 3.5, 1136: nan, 1137: nan, 1138: 3.0, 1139: nan, 1140: nan, 1141: nan, 1142: nan, 1143: nan, 1144: nan, 1145: 11.83, 1146: nan, 1147: nan, 1148: nan, 1149: nan, 
  • You put in some sample data and how should your output look like. Posting excel screenshot won't help much, because people have to try different methods and post the solution that helps solve your problem. – Vishwas Jul 22 '19 at 18:06
  • @Vishwas Does that help now? –  Jul 22 '19 at 18:08
  • no, probably make a table and copy past the table contents. So we can copy the data and try it out. – Vishwas Jul 22 '19 at 18:09
  • @Vishwas How about now? –  Jul 22 '19 at 18:11
  • Looks good, now people can try and come up with some solutions. – Vishwas Jul 22 '19 at 18:13
  • @Vishwas Great, thanks –  Jul 22 '19 at 18:13
  • Let us [continue this discussion in chat](https://chat.stackoverflow.com/rooms/196827/discussion-between-vishwas-and-snorrlaxxx). – Vishwas Jul 22 '19 at 18:17
  • `df['Step Check']=np.where(df.StepRate2>df.StepRate3,'x','')` – anky Jul 22 '19 at 18:25
  • @ALollz Any idea how to do this for all StepRate1 - StepRate13 or if there is a way of doing this when we don't know if we will have StepRate13 being the last or StepRate12 being the last say –  Jul 22 '19 at 18:28
  • @ALollz Could you provide an answer? –  Jul 22 '19 at 18:30
  • @Snorrlaxxx please update your expected output to indicate what the output should be considering all step rates. This will make it clear that it's not just a simple np.where duplicate. – ALollz Jul 22 '19 at 18:32
  • @ALollz I am not sure how to do that I think you have what I want but the code just doesnt run for me –  Jul 22 '19 at 18:35
  • @ALollz Yes it should sorry about that –  Jul 22 '19 at 18:38

4 Answers4

2

Check the difference column-wise and see if there are any that decrease. Ensure the column ordering so the differences are calculated properly. Only 2 values, so map will suffice.

import numpy as np

cols = [f'StepRate{i}' for i in range(1, 7)]
df['Step Check'] = (df.filter(like='StepRate').reindex(cols, axis=1)
                      .diff(axis=1).lt(0).any(1)
                      .map({True: 'X', False: ''}))

print(df[['Step Check']])
#  Step Check
#0           
#1           
#2          X
#3           
#4           
#5           

For pandas < 0.21:

df['Step Check'] = (df.filter(like='StepRate')[cols]
                      .diff(axis=1).lt(0).any(1)
                      .map({True: 'X', False: ''}))
ALollz
  • 57,915
  • 7
  • 66
  • 89
  • TypeError: reindex() got an unexpected keyword argument "axis" –  Aug 29 '19 at 14:33
  • @Snorrlaxxx update pandas. That keyword doesn't exist under `0.21` – ALollz Aug 29 '19 at 14:34
  • 1
    But if you cannot update `pandas` for whatever reason you should instead be able to do `df.filter(like='StepRate')[cols]` instead of the `reindex` to ensure the ordering is what you want. – ALollz Aug 29 '19 at 14:36
1
cols = [a for a in list(df) if 'Rate' in a]
cols.sort()
index = []
check_rate = []
for i in df[cols].iterrows():
    if tuple(i[1].dropna()) != tuple(sorted(i[1].dropna(), reverse=False)):
        index.append(i[0])
        check_rate.append('X')
    check_rate_df = pd.DataFrame({'index':index,'check_rate':check_rate})
check_rate_df.set_index('index',inplace=True)
check_rate_df
df.merge(check_rate_col,left_index=True,right_index=True,how='left')
braintho
  • 381
  • 1
  • 8
  • Any idea how to do this for all StepRate1 - StepRate13 or if there is a way of doing this when we don't know if we will have StepRate13 being the last or StepRate12 being the last say –  Jul 22 '19 at 18:22
  • I've edited my answer to reflect the change in the question. – braintho Jul 22 '19 at 19:00
1

Going by OP's latest comments, it appears that rows which end in nan values shouldn't be disregarded (from what I can gather). This will work if it isn't known whether StepRate6 will be the last value in the row or StepRate4 etc.

(Thanks to @Brendan for the column filter trick - very useful).

def find_increasing(row):
    increasing = (row.diff() > 0)[:row.last_valid_index()][1:]
    if np.all(increasing[:increasing.last_valid_index()]):
        return('X')
    return(np.nan)

cols = df.filter(regex='StepRate').columns 
df['StepCheck'] = df[cols].apply(find_increasing, axis=1)   # Apply to rows

0     NaN
1       X
2       X
3     NaN
4     NaN
5       X
6     NaN
dtype: object
Ted
  • 1,189
  • 8
  • 15
  • So does this code ignore the null values or empty cells so that when I do the comparison of say StepRate1 with StepRate2 they only compare if both have numbers greater than 0? –  Aug 29 '19 at 19:18
  • @Snorrlaxxx This solution will test each row to see if there is an increasing sequence of numbers present in the `Steprate` columns for that row. `nan` values (or values that are left blank in your input data) at the end of each row are ignored. The comparison will only be made if there is a sequence of numbers greater than 0 that are not interrupted by a `nan` or blank value. Is that what you require? Try my solution out on your sample data and see if it matches your expectations. – Ted Aug 30 '19 at 07:13
1

You can make use of lambda function to apply to your original DataFrame to check for the increasing sequence of step rate until NA is found.

def is_valid(row):
    i=1 # first StepRate
    while(i < row.shape[0]-3): 
        # loop over all values of StepRate
        if row.iloc[i+2]:  # not NA  
            if row.iloc[i]> row.iloc[i+2]: # decreasing entry found
                return False
        else: # NA found
            return True
        i+=2
    return True  

df['Step_Check'] = df.apply(lambda row: is_valid(row),axis=1)
Deven
  • 741
  • 1
  • 7
  • 21