팬더 : 열을 기준으로 다른 데이터 프레임에서 스칼라로 나눈 각 열의 로그를 찾습니다.

사용자 987654

다음과 같은 데이터 데이터 프레임이 있습니다.

df = pandas.DataFrame(index=pandas.date_range('20200101', '20200107'), 
                      columns=['foo', 'bar', 'baz'], 
                      data=numpy.random.rand(7,3))
print(df)

                 foo       bar       baz
2020-01-01  0.641336  0.185073  0.815814
2020-01-02  0.616637  0.438274  0.750864
2020-01-03  0.336463  0.548659  0.661161
2020-01-04  0.924278  0.560541  0.341154
2020-01-05  0.608545  0.674169  0.242851
2020-01-06  0.459625  0.816147  0.113926
2020-01-07  0.781475  0.865262  0.625729

각 열에 대한 또 다른 요인 데이터 프레임이 있습니다.

fac = pandas.DataFrame(index=['foo','bar','baz'],
                       data={'factor':[1,2,3]})
print(fac)

     factor
foo       1
bar       2
baz       3

각 열의 계수로 나눈 각 행의 로그를 계산하고 싶습니다.

와 비슷하다:

numpy.log(df['foo']) / fac['foo'] # for each column, foo, bar, baz

의 복사본을 만든 df다음 각 열을 반복하여 복사 된 데이터 프레임의 값을 계산하려는 식의 결과로 설정 하는 다음 솔루션을 찾았습니다 .

res = df.copy()
for c in df.columns:
    res[c] = numpy.log(df[c]) / fac.loc[c].values
print(res)

                 foo       bar       baz
2020-01-01 -0.444202 -0.843503 -0.067856
2020-01-02 -0.483475 -0.412456 -0.095510
2020-01-03 -1.089267 -0.300139 -0.137919
2020-01-04 -0.078743 -0.289427 -0.358474
2020-01-05 -0.496685 -0.197138 -0.471769
2020-01-06 -0.777345 -0.101580 -0.724067
2020-01-07 -0.246572 -0.072361 -0.156279

작동하지만 인체 공학적으로 느껴지지는 않습니다.

동일한 것을 달성하는 더 좋고 권장되는 방법이 있습니까 (이상적으로는 한 줄로)?

꽝황

데이터 프레임을 시리즈로 나눌 수 있습니다. 그렇게함으로써 Pandas는 데이터 프레임의 열을 시리즈의 인덱스에 정렬합니다. 따라서 이것은 다음과 같이 할 수 있습니다.

np.log(df)/fac['factor']

산출:

                 foo       bar       baz
2020-01-01 -0.444202 -0.843502 -0.067856
2020-01-02 -0.483475 -0.412455 -0.095510
2020-01-03 -1.089267 -0.300139 -0.137919
2020-01-04 -0.078742 -0.289426 -0.358474
2020-01-05 -0.496684 -0.197137 -0.471769
2020-01-06 -0.777344 -0.101580 -0.724069
2020-01-07 -0.246572 -0.072361 -0.156279

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

인덱스와 열을 기준으로 두 개의 팬더 데이터 프레임을 곱합니다.

분류에서Dev

한 열을 다른 데이터 프레임 팬더로 이동

분류에서Dev

Pyspark : 한 열 값을 기준으로 다른 데이터 프레임에서 하나의 데이터 프레임을 뺍니다

분류에서Dev

다른 열을 기반으로 팬더 데이터 프레임 필터링

분류에서Dev

데이터 프레임의 각 열을 다른 데이터 프레임의 모든 열로 나누기

분류에서Dev

크기가 다른 데이터 프레임으로 팬더의 열 분할

분류에서Dev

키 열 값 팬더를 기반으로 한 데이터 프레임의 행을 다른 데이터 프레임에 일치시킵니다.

분류에서Dev

팬더 데이터 프레임에서 각 그룹을 서로 다른 속도로 샘플링하는 방법

분류에서Dev

열 팬더를 기준으로 두 데이터 프레임 나누기

분류에서Dev

데이터 프레임의 열을 다른 열의 조각으로 나눕니다.

분류에서Dev

다른 데이터 프레임 값을 기준으로 팬더 값 정렬

분류에서Dev

다른 열을 기준으로 데이터 프레임 열의 값 바꾸기

분류에서Dev

일치하는 열에서 다른 간격으로 데이터 프레임을 결합하는 팬더

분류에서Dev

하나의 데이터 프레임에서 다른 열의 각 값으로 한 열의 각 값을 확인하십시오.

분류에서Dev

여러 구분자를 기반으로 팬더 데이터 프레임의 열에서 텍스트를 분할하고 각각에 대해 새 행을 만들고 싶습니다.

분류에서Dev

열의 각 셀에서 다른 셀로 일대 다 데이터 프레임

분류에서Dev

데이터 프레임의 각 열을 데이터 프레임의 한 행으로 나눕니다.

분류에서Dev

목록의 각 항목이 팬더 데이터 프레임 열에서 발생하는 횟수를 쉼표로 구분하여 다른 열의 추가 집계로 값을 구분합니다.

분류에서Dev

데이터 프레임 팬더에서 목록 항목을 문자열로 읽습니다.

분류에서Dev

프레임의 한 열과 다른 열의 두 열을 기준으로 두 데이터 프레임 결합

분류에서Dev

다른 데이터 프레임의 열을 기준으로 Pandas DataFrame 정렬-Pandas

분류에서Dev

팬더는 데이터 프레임의 행을 다른 데이터 프레임으로 바꿉니다.

분류에서Dev

데이터 프레임의 열에서 동일한 값을 찾고 각 중복으로 새 데이터 프레임을 만듭니다.

분류에서Dev

데이터 프레임에서 다른 값으로 열 나누기

분류에서Dev

부분 문자열 일치를 기반으로 다른 데이터 프레임에서 하나의 데이터 프레임 열 채우기

분류에서Dev

다른 데이터 프레임 팬더에서 동일한 이름으로 두 열마다 이름을 바꿉니다.

분류에서Dev

다른 열 값에 대한 벡터화 된 방식으로 팬더 데이터 프레임에 열 추가

분류에서Dev

다른 데이터 프레임을 기반으로 한 조건에 따라 팬더 데이터 프레임의 행을 추출하는 방법

분류에서Dev

팬더별로 다른 열에 조건을 적용하여 데이터 프레임 필터링

Related 관련 기사

  1. 1

    인덱스와 열을 기준으로 두 개의 팬더 데이터 프레임을 곱합니다.

  2. 2

    한 열을 다른 데이터 프레임 팬더로 이동

  3. 3

    Pyspark : 한 열 값을 기준으로 다른 데이터 프레임에서 하나의 데이터 프레임을 뺍니다

  4. 4

    다른 열을 기반으로 팬더 데이터 프레임 필터링

  5. 5

    데이터 프레임의 각 열을 다른 데이터 프레임의 모든 열로 나누기

  6. 6

    크기가 다른 데이터 프레임으로 팬더의 열 분할

  7. 7

    키 열 값 팬더를 기반으로 한 데이터 프레임의 행을 다른 데이터 프레임에 일치시킵니다.

  8. 8

    팬더 데이터 프레임에서 각 그룹을 서로 다른 속도로 샘플링하는 방법

  9. 9

    열 팬더를 기준으로 두 데이터 프레임 나누기

  10. 10

    데이터 프레임의 열을 다른 열의 조각으로 나눕니다.

  11. 11

    다른 데이터 프레임 값을 기준으로 팬더 값 정렬

  12. 12

    다른 열을 기준으로 데이터 프레임 열의 값 바꾸기

  13. 13

    일치하는 열에서 다른 간격으로 데이터 프레임을 결합하는 팬더

  14. 14

    하나의 데이터 프레임에서 다른 열의 각 값으로 한 열의 각 값을 확인하십시오.

  15. 15

    여러 구분자를 기반으로 팬더 데이터 프레임의 열에서 텍스트를 분할하고 각각에 대해 새 행을 만들고 싶습니다.

  16. 16

    열의 각 셀에서 다른 셀로 일대 다 데이터 프레임

  17. 17

    데이터 프레임의 각 열을 데이터 프레임의 한 행으로 나눕니다.

  18. 18

    목록의 각 항목이 팬더 데이터 프레임 열에서 발생하는 횟수를 쉼표로 구분하여 다른 열의 추가 집계로 값을 구분합니다.

  19. 19

    데이터 프레임 팬더에서 목록 항목을 문자열로 읽습니다.

  20. 20

    프레임의 한 열과 다른 열의 두 열을 기준으로 두 데이터 프레임 결합

  21. 21

    다른 데이터 프레임의 열을 기준으로 Pandas DataFrame 정렬-Pandas

  22. 22

    팬더는 데이터 프레임의 행을 다른 데이터 프레임으로 바꿉니다.

  23. 23

    데이터 프레임의 열에서 동일한 값을 찾고 각 중복으로 새 데이터 프레임을 만듭니다.

  24. 24

    데이터 프레임에서 다른 값으로 열 나누기

  25. 25

    부분 문자열 일치를 기반으로 다른 데이터 프레임에서 하나의 데이터 프레임 열 채우기

  26. 26

    다른 데이터 프레임 팬더에서 동일한 이름으로 두 열마다 이름을 바꿉니다.

  27. 27

    다른 열 값에 대한 벡터화 된 방식으로 팬더 데이터 프레임에 열 추가

  28. 28

    다른 데이터 프레임을 기반으로 한 조건에 따라 팬더 데이터 프레임의 행을 추출하는 방법

  29. 29

    팬더별로 다른 열에 조건을 적용하여 데이터 프레임 필터링

뜨겁다태그

보관