user6018651
user6018651

Reputation:

pandas - groupby elements by column repeat pattern

I would like to groupby a dataframe by column's appearance patten (not the same order but not repeat).

for example below, group the x column (0,1,2) as a group and (3,4,5) as another group. group element maybe not the same, but no any element repeated in each group.

#+begin_src python :results output
import pandas as pd

df = pd.DataFrame({
    'x': ['a', 'b', 'c', 'c', 'b', 'a'],
    'y': [1,    2,   3,   4,   3,  1]})
print(df)
#+end_src

#+RESULTS:
:    x  y
: 0  a  1
: 1  b  2
: 2  c  3
: 3  c  4
: 4  b  3
: 5  a  1

Upvotes: 0

Views: 107

Answers (1)

BENY
BENY

Reputation: 323236

Try with cumcount , the output can be the group number for you

df.groupby('x').cumcount()
Out[81]: 
0    0
1    0
2    0
3    1
4    1
5    1
dtype: int64

Upvotes: 0

Related Questions