jhylands

Pandas tricks

Dec 2nd, 2022
1,031
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 0 0
  1. >>> import pandas
  2. >>> df = pandas.DataFrame({"group": [1,2,1,2,1,2], "id":range(6)})
  3. >>> df
  4.    group  id
  5. 0      1   0
  6. 1      2   1
  7. 2      1   2
  8. 3      2   3
  9. 4      1   4
  10. 5      2   5
  11. >>> df.groupby("group")
  12. <pandas.core.groupby.generic.DataFrameGroupBy object at 0x7f7d9ee6acd0>
  13. >>> df["row"] = df.groupby("group").cumcount()
  14. >>> df
  15.    group  id  row
  16. 0      1   0    0
  17. 1      2   1    0
  18. 2      1   2    1
  19. 3      2   3    1
  20. 4      1   4    2
  21. 5      2   5    2
  22. >>> df = pandas.DataFrame({"group": [1,2,1,2,1,2], "id":range(6), "max_id":[10 for _ in range(6)]})
  23. >>> df
  24.    group  id  max_id
  25. 0      1   0      10
  26. 1      2   1      10
  27. 2      1   2      10
  28. 3      2   3      10
  29. 4      1   4      10
  30. 5      2   5      10
  31. >>> df["row"] = df.groupby("group").cumcount() + df["max_id"]
  32. >>> df
  33.    group  id  max_id  row
  34. 0      1   0      10   10
  35. 1      2   1      10   10
  36. 2      1   2      10   11
  37. 3      2   3      10   11
  38. 4      1   4      10   12
  39. 5      2   5      10   12
  40. >>>
  41.  
Advertisement
Add Comment
Please, Sign In to add comment