2 개의 데이터 프레임을 A 열과 병합하고 A_label 열 수에 대해 값을 균등하게 분산

Vega

2 개의 데이터 프레임이 있습니다.

df1 :

date         | product | amount_daily
2020-01-2020 | "a"     | 2
2020-01-2020 | "b"     | 3
2020-01-2020 | "c"     | 5
2020-02-2020 | "a"     | 1
2020-02-2020 | "c"     | 3
2020-02-2020 | "d"     | 4

df2 :

product | product_label | factor
"a"     | 1             | 10
"a"     | 2             | 20        
"b"     | 3             | 2
"b"     | 1             | 4
"b"     | 2             | 6
"b"     | 4             | 8
"c"     | 1             | 5
"c"     | 2             | 100
"c"     | 3             | 200
"d"     | 1             | 18

"제품"의 두 데이터 프레임을 병합하고 매일 모든 제품 + product_label에 "amount_daily"값을 분산시키고 싶습니다.

최종 결과는 다음과 같아야합니다.

date         | product | product_label | factor | amount_daily
2020-01-2020 | "a"     | 1             | 10     | 1 # a has 2 labels = 2/2
2020-01-2020 | "a"     | 2             | 20     | 1
2020-01-2020 | "b"     | 1             | 2      | 0.75 # b has 4 labels = 3/4
2020-01-2020 | "b"     | 2             | 4      | 0.75
2020-01-2020 | "b"     | 3             | 6      | 0.75
2020-01-2020 | "b"     | 4             | 8      | 0.75
2020-01-2020 | "c"     | 1             | 5      | 1.666 # c has 3 labels = 5/3
2020-01-2020 | "c"     | 2             | 100    | 1.666
2020-01-2020 | "c"     | 3             | 200    | 1.666

2020-02-2020 | "a"     | 1             | 10     | 0.5 # a has 2 labels = 1/2
2020-02-2020 | "a"     | 2             | 20     | 0.5
2020-02-2020 | "c"     | 1             | 5      | 1 # c has 3 labels = 3/3
2020-02-2020 | "c"     | 2             | 100    | 1
2020-02-2020 | "c"     | 3             | 200    | 1
2020-02-2020 | "d"     | 1             | 18     | 4 # d has 1 label = 4/1
꽝황

옵션은 먼저 병합 한 다음 사용 groupby().size()하여 총 레이블을 가져 오는 것입니다.

ret = df1.merge(df2, on='product')

ret['amount_daily'] /= ret.groupby(['date','product'])['product'].transform('size')

산출:

            date product  amount_daily  product_label  factor
0   2020-01-2020     "a"      1.000000              1      10
1   2020-01-2020     "a"      1.000000              2      20
2   2020-02-2020     "a"      0.500000              1      10
3   2020-02-2020     "a"      0.500000              2      20
4   2020-01-2020     "b"      0.750000              3       2
5   2020-01-2020     "b"      0.750000              1       4
6   2020-01-2020     "b"      0.750000              2       6
7   2020-01-2020     "b"      0.750000              4       8
8   2020-01-2020     "c"      1.666667              1       5
9   2020-01-2020     "c"      1.666667              2     100
10  2020-01-2020     "c"      1.666667              3     200
11  2020-02-2020     "c"      1.000000              1       5
12  2020-02-2020     "c"      1.000000              2     100
13  2020-02-2020     "c"      1.000000              3     200
14  2020-02-2020     "d"      4.000000              1      18

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

2 개의 데이터 프레임을 병합하고 R에서 열 값 업데이트

분류에서Dev

2 개의 데이터 프레임을 병합하고 "new"열에 값을 할당 할 때 오류 발생

분류에서Dev

2 개 또는 3 개의 데이터 프레임에서 열 값을 비교하고 병합

분류에서Dev

Pandas에서 2 개의 데이터 프레임을 일치하는 열과 병합

분류에서Dev

Pandas 데이터 프레임의 필터링 된 행에 대한 평균을 계산하고 원래 데이터 프레임의 모든 열에 평균을 추가하려면 어떻게해야합니까?

분류에서Dev

2 개의 다른 열을 참조하여 데이터 프레임 열의 중앙값을 계산합니다.

분류에서Dev

2 개의 데이터 프레임에서 일치하는 열에 대해 수학 연산 수행 : Python Pandas

분류에서Dev

팬더가 병합하여 데이터 프레임에서 두 개의 열을 가져오고 열에 대한 작업을 수행합니다.

분류에서Dev

2 개의 데이터 프레임을 병합하고 몇 개의 열과 관련된 값 목록을 만듭니다.

분류에서Dev

열 값을 균등하게 분할하기위한 하위 집합 데이터 프레임

분류에서Dev

두 개의 pandas 데이터 프레임을 병합하고 일치하는 항목을 파이프로 구분 된 열에 입력합니다.

분류에서Dev

CSS의 세 열을 페이지에 균등하게 분산하는 방법

분류에서Dev

SPARK-배열의 값에 대해 2 개의 데이터 프레임 결합

분류에서Dev

Pandas 데이터 프레임의 특정 열에 대해 계산을 수행하도록 반복

분류에서Dev

Pandas의 전체 데이터 프레임에서 특정 문자열의 수를 계산하고 새 열에 해당 값을 추가합니다.

분류에서Dev

Pandas 데이터 프레임의 범주 (열)에서 상위 n 개 행을 선택하고 이에 대한 계산을 수행합니다.

분류에서Dev

데이터 프레임의 특정 열에서 시작하여 4 개 열마다 평균을 계산하고 추가 처리를 위해 각 평균 결과를 np 배열에 출력합니다.

분류에서Dev

데이터 프레임의 열에서 값을 분리하고 용융

분류에서Dev

R을 사용하여 부분 일치를 위해 행 값을 데이터 프레임의 열과 비교

분류에서Dev

열의 값에 따라 데이터 프레임을 하위 데이터 프레임으로 분할

분류에서Dev

데이터에 열을 추가합니다. 목록의 값에 균등하게 행을 할당하는 프레임

분류에서Dev

공통 값을 공유하는 각 행에 대한 데이터 프레임의 열 내용 병합

분류에서Dev

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

분류에서Dev

한 데이터 프레임에서 다른 데이터 프레임의 열 값을 대치하는 방법

분류에서Dev

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

분류에서Dev

Pandas 데이터 프레임의 다른 열에있는 특정 값을 계산하는 카운터 열을 추가하려면 어떻게해야합니까?

분류에서Dev

데이터 프레임의 각 행을 반복하고 해당 x 및 y 열의 값 (분산)을 플로팅합니다.

분류에서Dev

데이터 프레임 (B)의 열을 데이터 프레임 (A)으로 병합하지만 데이터 프레임 (A)의 다른 열에있는 값으로 구성되는 열 (Y)은 어떻게해야합니까?

분류에서Dev

결합 된 열의 고유 값을 계산하고 데이터 프레임에 넣습니다.

Related 관련 기사

  1. 1

    2 개의 데이터 프레임을 병합하고 R에서 열 값 업데이트

  2. 2

    2 개의 데이터 프레임을 병합하고 "new"열에 값을 할당 할 때 오류 발생

  3. 3

    2 개 또는 3 개의 데이터 프레임에서 열 값을 비교하고 병합

  4. 4

    Pandas에서 2 개의 데이터 프레임을 일치하는 열과 병합

  5. 5

    Pandas 데이터 프레임의 필터링 된 행에 대한 평균을 계산하고 원래 데이터 프레임의 모든 열에 평균을 추가하려면 어떻게해야합니까?

  6. 6

    2 개의 다른 열을 참조하여 데이터 프레임 열의 중앙값을 계산합니다.

  7. 7

    2 개의 데이터 프레임에서 일치하는 열에 대해 수학 연산 수행 : Python Pandas

  8. 8

    팬더가 병합하여 데이터 프레임에서 두 개의 열을 가져오고 열에 대한 작업을 수행합니다.

  9. 9

    2 개의 데이터 프레임을 병합하고 몇 개의 열과 관련된 값 목록을 만듭니다.

  10. 10

    열 값을 균등하게 분할하기위한 하위 집합 데이터 프레임

  11. 11

    두 개의 pandas 데이터 프레임을 병합하고 일치하는 항목을 파이프로 구분 된 열에 입력합니다.

  12. 12

    CSS의 세 열을 페이지에 균등하게 분산하는 방법

  13. 13

    SPARK-배열의 값에 대해 2 개의 데이터 프레임 결합

  14. 14

    Pandas 데이터 프레임의 특정 열에 대해 계산을 수행하도록 반복

  15. 15

    Pandas의 전체 데이터 프레임에서 특정 문자열의 수를 계산하고 새 열에 해당 값을 추가합니다.

  16. 16

    Pandas 데이터 프레임의 범주 (열)에서 상위 n 개 행을 선택하고 이에 대한 계산을 수행합니다.

  17. 17

    데이터 프레임의 특정 열에서 시작하여 4 개 열마다 평균을 계산하고 추가 처리를 위해 각 평균 결과를 np 배열에 출력합니다.

  18. 18

    데이터 프레임의 열에서 값을 분리하고 용융

  19. 19

    R을 사용하여 부분 일치를 위해 행 값을 데이터 프레임의 열과 비교

  20. 20

    열의 값에 따라 데이터 프레임을 하위 데이터 프레임으로 분할

  21. 21

    데이터에 열을 추가합니다. 목록의 값에 균등하게 행을 할당하는 프레임

  22. 22

    공통 값을 공유하는 각 행에 대한 데이터 프레임의 열 내용 병합

  23. 23

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

  24. 24

    한 데이터 프레임에서 다른 데이터 프레임의 열 값을 대치하는 방법

  25. 25

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

  26. 26

    Pandas 데이터 프레임의 다른 열에있는 특정 값을 계산하는 카운터 열을 추가하려면 어떻게해야합니까?

  27. 27

    데이터 프레임의 각 행을 반복하고 해당 x 및 y 열의 값 (분산)을 플로팅합니다.

  28. 28

    데이터 프레임 (B)의 열을 데이터 프레임 (A)으로 병합하지만 데이터 프레임 (A)의 다른 열에있는 값으로 구성되는 열 (Y)은 어떻게해야합니까?

  29. 29

    결합 된 열의 고유 값을 계산하고 데이터 프레임에 넣습니다.

뜨겁다태그

보관