I have a dataframe (below), which i need to map how much of the first ocurrence is left is the subsequent periods. For example, in 2020-02, i had 15 items. In 2020-03, i have 0,86 left. In the next month (2020-04), i have 0,533 left, and so on.
dates 2020-01 2020-02 2020-03 2020-04 2020-05 2020-06 2020-07 2020-08 2020-09 2020-10 2020-11 2020-12 2021-01 2021-02 2021-03 2021-04 2021-05 2021-06 2021-07 2021-08 2021-09 2021-10
inicio
2020-01 2.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN
2020-02 NaN 15.0 13.0 8.0 5.0 4.0 3.0 2.0 2.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-03 NaN NaN 37.0 33.0 25.0 19.0 9.0 5.0 4.0 4.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
2020-04 NaN NaN NaN 75.0 65.0 42.0 27.0 18.0 10.0 7.0 3.0 2.0 1.0 1.0 NaN NaN NaN NaN NaN NaN NaN NaN
2020-05 NaN NaN NaN NaN 171.0 150.0 98.0 60.0 41.0 25.0 16.0 11.0 11.0 6.0 5.0 4.0 4.0 2.0 2.0 2.0 NaN NaN
2020-06 NaN NaN NaN NaN NaN 152.0 132.0 78.0 56.0 34.0 23.0 18.0 14.0 13.0 11.0 9.0 7.0 6.0 6.0 4.0 2.0 1.0
2020-07 NaN NaN NaN NaN NaN NaN 159.0 139.0 95.0 59.0 32.0 18.0 14.0 10.0 9.0 8.0 7.0 4.0 3.0 2.0 1.0 1.0
2020-08 NaN NaN NaN NaN NaN NaN NaN 186.0 166.0 98.0 59.0 43.0 33.0 26.0 24.0 16.0 10.0 7.0 6.0 3.0 1.0 NaN
2020-09 NaN NaN NaN NaN NaN NaN NaN NaN 197.0 164.0 95.0 62.0 43.0 31.0 25.0 21.0 19.0 14.0 7.0 4.0 2.0 1.0
2020-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN 234.0 199.0 138.0 107.0 81.0 60.0 41.0 23.0 16.0 8.0 5.0 3.0 2.0
2020-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 281.0 256.0 197.0 158.0 105.0 79.0 58.0 34.0 22.0 13.0 8.0 8.0
2020-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 384.0 348.0 263.0 200.0 137.0 102.0 61.0 25.0 9.0 3.0 1.0
2021-01 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 332.0 303.0 230.0 144.0 108.0 76.0 39.0 13.0 2.0 1.0
2021-02 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 167.0 148.0 82.0 60.0 38.0 31.0 11.0 3.0 2.0
2021-03 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 226.0 204.0 119.0 72.0 43.0 19.0 5.0 2.0
2021-04 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 191.0 155.0 98.0 57.0 33.0 21.0 12.0
2021-05 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 149.0 121.0 69.0 30.0 6.0 5.0
2021-06 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 122.0 84.0 26.0 3.0 NaN
2021-07 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 143.0 91.0 9.0 4.0
2021-08 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 59.0 22.0 7.0
2021-09 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 75.0 43.0
2021-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4.0
I was trying to solve this with this function below, but it grabs only the first column, not the first occurrence in the row.
size = pivot.iloc[:,0]
retention = pivot.divide(size, axis=0)
Unfortunately, i could not figure out a way to solve this. Any ideas? Thanks for now!
CodePudding user response:
Try with max
then div
retention = pivot.div(pivot.max(),0)