데이터 프레임의 각 개별 행에 대해 동일한 값의 항목을 계산하는 방법은 무엇입니까?

양파

주문 날짜, 사용자 ID 및 항목 ID로 구성된 큰 데이터 프레임이 있다고 가정 해 보겠습니다.

   order_id order_date user_id item_id
1         1 2016-06-22   30822     643
2         2 2016-06-22   30822     337
3         3 2016-06-22   30823     270
4         4 2016-06-22   30823     142
5         5 2016-06-22   30823     561
6         6 2016-06-22   30823     561
7         7 2016-06-22   30823      72
8         8 2016-06-22   30823     106
9         9 2016-06-22   30823     195
10       10 2016-06-22   30823     195

내가 원하는 것은 같은 사용자가 같은 날에 주문한 횟수와 같은 사용자가 같은 항목을 주문한 횟수를 세어 네 번째와 다섯 번째 열에 두 값을 표시하는 것입니다. 따라서 결과는 다음과 같아야합니다.

   order_id order_date user_id item_id same_day same_item
1         1 2016-06-22   30822     643        2         1
2         2 2016-06-22   30822     337        2         1
3         3 2016-06-22   30823     270        8         1
4         4 2016-06-22   30823     142        8         1
5         5 2016-06-22   30823     561        8         2
6         6 2016-06-22   30823     561        8         2
7         7 2016-06-22   30823      72        8         1
8         8 2016-06-22   30823     106        8         1
9         9 2016-06-22   30823     195        8         2
10       10 2016-06-22   30823     195        8         2

또는 항목이 두 번 이상 주문되었는지 여부를 표시하는 이진 변수도 작업을 수행합니다. 다음을 사용하여 각 행에 대해 쉽게 계산할 수 있음을 알고 있습니다 sum().

> sum(df$order_date=="2016-06-22" & df$user_id==30823)
[1] 8
> sum(df$item_id==561 & df$user_id==30823)
[1] 2

하지만 차라리 자동으로 실행되고 수천 개의 항목에 대해 수동으로 수행해야합니다. 나는 진지하게 아이디어가 부족 하고 당신의 도움에 매우 감사 할 것입니다!

IceCreamToucan
library(data.table)
setDT(df)

df[, same_day := .N, by = .(order_date, user_id)]
df[, same_item := .N, by = .(order_date, user_id, item_id)]

df
#     order_id order_date user_id item_id same_day same_item
#  1:        1 2016-06-22   30822     643        2         1
#  2:        2 2016-06-22   30822     337        2         1
#  3:        3 2016-06-22   30823     270        8         1
#  4:        4 2016-06-22   30823     142        8         1
#  5:        5 2016-06-22   30823     561        8         2
#  6:        6 2016-06-22   30823     561        8         2
#  7:        7 2016-06-22   30823      72        8         1
#  8:        8 2016-06-22   30823     106        8         1
#  9:        9 2016-06-22   30823     195        8         2
# 10:       10 2016-06-22   30823     195        8         2

또는 dplyr

library(dplyr)

df <- 
 df %>% 
   add_count(order_date, user_id, name = 'same_day') %>% 
   add_count(order_date, user_id, item_id, name = 'same_item')

df
# # A tibble: 10 x 6
#    order_id order_date user_id item_id same_day same_item
#       <int> <chr>        <int>   <int>    <int>     <int>
#  1        1 2016-06-22   30822     643        2         1
#  2        2 2016-06-22   30822     337        2         1
#  3        3 2016-06-22   30823     270        8         1
#  4        4 2016-06-22   30823     142        8         1
#  5        5 2016-06-22   30823     561        8         2
#  6        6 2016-06-22   30823     561        8         2
#  7        7 2016-06-22   30823      72        8         1
#  8        8 2016-06-22   30823     106        8         1
#  9        9 2016-06-22   30823     195        8         2
# 10       10 2016-06-22   30823     195        8         2

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

개별 데이터 프레임의 각 값에 대해 데이터 프레임의 각 행을 반복 한 다음 두 행을 단일 데이터 프레임으로 결합하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 각 열에 대해 CSV 파일을 만드는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 다른 열에있는 각 고유 값에 해당하는 값을 계산하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 각 행에 각 열에 대해 하나의 값을 지정하는 방법은 무엇입니까?

분류에서Dev

각 행으로 계산하여 R에서 데이터 프레임의 2 개 열을 병합하는 방법은 무엇입니까?

분류에서Dev

벡터로 작업하고 R의 데이터 프레임에있는 행에 대해 이산 계산을 수행하는 방법은 무엇입니까?

분류에서Dev

두 개의 동일한 모양의 데이터 프레임 : 각 셀에 대한 최소값으로 데이터 프레임을 얻는 방법

분류에서Dev

데이터 프레임에서 각 기사의 단락을 계산하는 방법은 무엇입니까?

분류에서Dev

R의 데이터 프레임 열에서 키와 값을 분할하고 키를 데이터 프레임의 각 행에 대한 열 이름과 값으로 추가하는 방법은 무엇입니까?

분류에서Dev

단일 행 데이터 프레임에서 n 개의 가장 큰 값에 해당하는 열을 얻는 방법은 무엇입니까?

분류에서Dev

R에서 데이터 프레임의 각 행에 대한 다양한 요소 수의 평균을 취하는 방법은 무엇입니까?

분류에서Dev

데이터에 대한 논리 연산을 수행 한 후 데이터 프레임의 값을 정렬하는 방법은 무엇입니까?

분류에서Dev

Python에서 데이터 프레임의 각 행을 반복하여 계산 된 값을 새 열에 저장하는 방법은 무엇입니까?

분류에서Dev

Pandas의 동일한 데이터 프레임에서 Seaborn에서 두 개의 개별 플롯을 만드는 방법은 무엇입니까?

분류에서Dev

R 데이터 프레임의 다른 열에 대한 이전 5 개의 관찰 결과와 동일한 열을 만드는 방법은 무엇입니까?

분류에서Dev

두 개의 팬더 데이터 프레임에서 각 셀에 대한 튜플을 만드는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 각 열에 대해 여러 텍스트 파일을 만들고 첫 번째 열을 유지하는 방법은 무엇입니까?

분류에서Dev

대부분 다른 데이터 프레임의 두 목록을 병합하고 R에서 동일한 이름으로 해당 데이터 프레임의 행을 바인딩하는 방법은 무엇입니까?

분류에서Dev

각 그룹 (그룹 별)에 대해 가장 큰 2 개의 값을 기반으로 합계를 계산하는 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임의 각 행에 대해 판다 행을 반복하는 더 효율적인 방법은 무엇입니까?

분류에서Dev

데이터 프레임 행을 그룹화하고 문자열 목록의 모든 항목에 대해 필터링하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임의 각 행에 대해 인덱스 값, 열 이름 및 열 데이터를 인쇄하는 방법은 무엇입니까?

분류에서Dev

각 새 항목에 대해 다른 열의 동일한 레이블을 유지하면서 쉼표로 구분 된 데이터를 새 행으로 구분하는 방법은 무엇입니까?

분류에서Dev

각 행에 대해 데이터 팜의 n 열에서 k 값을 무작위로 선택하고 동일한 데이터 프레임의 k 열에 저장

분류에서Dev

데이터 프레임의 모든 행에 대한 선 플롯을 얻는 방법은 무엇입니까?

분류에서Dev

R에서 샘플 ID별로 샘플 유형 값의 차이에 대한 데이터 프레임을 만드는 방법은 무엇입니까?

분류에서Dev

SGDClassifier에 대한 데이터의 손실 함수 값을 계산하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 각 행에 대한 최소값 인덱스를 찾는 방법은 무엇입니까?

분류에서Dev

다중 레벨 인덱스 데이터 프레임의 모든 행에 대해 복잡한 df 작업을 수행하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    개별 데이터 프레임의 각 값에 대해 데이터 프레임의 각 행을 반복 한 다음 두 행을 단일 데이터 프레임으로 결합하는 방법은 무엇입니까?

  2. 2

    데이터 프레임의 각 열에 대해 CSV 파일을 만드는 방법은 무엇입니까?

  3. 3

    데이터 프레임의 다른 열에있는 각 고유 값에 해당하는 값을 계산하는 방법은 무엇입니까?

  4. 4

    데이터 프레임의 각 행에 각 열에 대해 하나의 값을 지정하는 방법은 무엇입니까?

  5. 5

    각 행으로 계산하여 R에서 데이터 프레임의 2 개 열을 병합하는 방법은 무엇입니까?

  6. 6

    벡터로 작업하고 R의 데이터 프레임에있는 행에 대해 이산 계산을 수행하는 방법은 무엇입니까?

  7. 7

    두 개의 동일한 모양의 데이터 프레임 : 각 셀에 대한 최소값으로 데이터 프레임을 얻는 방법

  8. 8

    데이터 프레임에서 각 기사의 단락을 계산하는 방법은 무엇입니까?

  9. 9

    R의 데이터 프레임 열에서 키와 값을 분할하고 키를 데이터 프레임의 각 행에 대한 열 이름과 값으로 추가하는 방법은 무엇입니까?

  10. 10

    단일 행 데이터 프레임에서 n 개의 가장 큰 값에 해당하는 열을 얻는 방법은 무엇입니까?

  11. 11

    R에서 데이터 프레임의 각 행에 대한 다양한 요소 수의 평균을 취하는 방법은 무엇입니까?

  12. 12

    데이터에 대한 논리 연산을 수행 한 후 데이터 프레임의 값을 정렬하는 방법은 무엇입니까?

  13. 13

    Python에서 데이터 프레임의 각 행을 반복하여 계산 된 값을 새 열에 저장하는 방법은 무엇입니까?

  14. 14

    Pandas의 동일한 데이터 프레임에서 Seaborn에서 두 개의 개별 플롯을 만드는 방법은 무엇입니까?

  15. 15

    R 데이터 프레임의 다른 열에 대한 이전 5 개의 관찰 결과와 동일한 열을 만드는 방법은 무엇입니까?

  16. 16

    두 개의 팬더 데이터 프레임에서 각 셀에 대한 튜플을 만드는 방법은 무엇입니까?

  17. 17

    데이터 프레임의 각 열에 대해 여러 텍스트 파일을 만들고 첫 번째 열을 유지하는 방법은 무엇입니까?

  18. 18

    대부분 다른 데이터 프레임의 두 목록을 병합하고 R에서 동일한 이름으로 해당 데이터 프레임의 행을 바인딩하는 방법은 무엇입니까?

  19. 19

    각 그룹 (그룹 별)에 대해 가장 큰 2 개의 값을 기반으로 합계를 계산하는 방법은 무엇입니까?

  20. 20

    다른 데이터 프레임의 각 행에 대해 판다 행을 반복하는 더 효율적인 방법은 무엇입니까?

  21. 21

    데이터 프레임 행을 그룹화하고 문자열 목록의 모든 항목에 대해 필터링하는 방법은 무엇입니까?

  22. 22

    Pandas 데이터 프레임의 각 행에 대해 인덱스 값, 열 이름 및 열 데이터를 인쇄하는 방법은 무엇입니까?

  23. 23

    각 새 항목에 대해 다른 열의 동일한 레이블을 유지하면서 쉼표로 구분 된 데이터를 새 행으로 구분하는 방법은 무엇입니까?

  24. 24

    각 행에 대해 데이터 팜의 n 열에서 k 값을 무작위로 선택하고 동일한 데이터 프레임의 k 열에 저장

  25. 25

    데이터 프레임의 모든 행에 대한 선 플롯을 얻는 방법은 무엇입니까?

  26. 26

    R에서 샘플 ID별로 샘플 유형 값의 차이에 대한 데이터 프레임을 만드는 방법은 무엇입니까?

  27. 27

    SGDClassifier에 대한 데이터의 손실 함수 값을 계산하는 방법은 무엇입니까?

  28. 28

    데이터 프레임의 각 행에 대한 최소값 인덱스를 찾는 방법은 무엇입니까?

  29. 29

    다중 레벨 인덱스 데이터 프레임의 모든 행에 대해 복잡한 df 작업을 수행하는 방법은 무엇입니까?

뜨겁다태그

보관