2017-12-19 11 views
1

현재 사이트를 수정했는지 여부에 따라 사이트에서 someones 활동을 시간 경과에 따라 측정해야하는 프로젝트에서 작업하고 있습니다. 사용순차적으로 반복되는 항목을 계산합니다.

df = pd.DataFrame({"x":["a", "b", "c", "b","b"], 
       "y":["red", "blue", "green", "yellow","red"], 
       "z":[1,2,3,4,5]}) 

내가 그것 (열 x는 편집의 수) 반복되는 값의 수 있습니다를 계산하도록 dataframe에 열을 추가 할 :이와 비슷한 데이터 프레임을 가지고 이벤트가 발생한시기의 척도 인 "z"열.

예.

df["activity"] = pd.Series([1,1,1,2,3]) 

내가 파이썬으로 어떻게하면 좋을까요? 여기에 최선의 접근 방식이 무엇인지 확신 할 수 없습니다.

+0

당신이 찾고있는'df.groupby ('X') cumcount() + 1'? –

+0

df.groupby ('x'). cumcount(). (1)' – Wen

+0

'이벤트가 발생했을 때 측정 기준으로 'z'열을 사용합니다 .' 이것은 무엇을 의미합니까? –

답변

1

질문은 웬과 나는 의견에서 동시에 대답했다. 나는 그 의견을 대답으로 풀어 놓고있다.

사용 groupby + cumcount -.

df['activity'] = df.groupby('x').cumcount() + 1 
df 

    x  y z activity 
0 a  red 1   1 
1 b blue 2   1 
2 c green 3   1 
3 b yellow 4   2 
4 b  red 5   3