데이터 프레임 행에 대한 누적 백분율을 찾는 방법은 무엇입니까?

Vestland

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

   2021  2022  2023
0     3     7     7
1     1     4     4
2     0     1     5
3     4     5     7

이제 각 행에서 마지막 열 (2023)을 기준으로 계산 된 누적 백분율을 찾고 싶습니다.

    2021    2022   2023
0  42.86  100.00  100.0
1  25.00  100.00  100.0
2   0.00   20.00  100.0
3  57.14   71.43  100.0

나는 오전 사용하여 원하는 출력을 얻을 수 :

data = []
colnames= list(df.columns)
for row in df.iterrows():
    data.append([elem/row[1][-1]*100 for elem in row][1].values)
df_acc = pd.DataFrame(data)
df_acc.columns = colnames

그러나 이것은 끔찍하게 비효율적으로 보이며 모든 행을 반복하는 단계를 거쳐야하며 목록 이해력을 사용하여를 사용하여 백분율을 찾은 [elem/row[1][-1]*100 for elem in row][1].values다음 새 데이터 프레임을 만들어야합니다.

누구든지 더 나은 접근 방법을 알고 있습니까? 아마도 사용하는 것조차 inplace=True?

데이터 샘플이 포함 된 전체 코드 :

import pandas as pd
import numpy as np

# data
np.random.seed(1)
start = 2021
ncols = 3
nrows = 4
cols = [str(i) for i in np.arange(start, start+ncols)]
df = pd.DataFrame(np.random.randint(0,5, (nrows,ncols)), columns = cols).cumsum(axis = 1)

data = []
colnames= list(df.columns)
for row in df.iterrows():
    data.append([round(elem/row[1][-1]*100, 2) for elem in row][1].values)
#     data.append([elem/row[1][-1]*100 for elem in row][1].values)
df_acc = pd.DataFrame(data)
df_acc.columns = colnames
df_acc
사얀 디프 두타

당신이 할 수있는 df.divLAST_COLUMN에 의해, 다음 multiply에 의해 100round 2포인트 진수 :

>>> df.div(df.iloc[:,-1], axis=0).mul(100).round(2)
    2021    2022   2023
0  42.86  100.00  100.0
1  25.00  100.00  100.0
2   0.00   20.00  100.0
3  57.14   71.43  100.0

max각 열의 값을 기준으로 백분율을 원하는 경우 :

>>> df.div(df.max(1), axis=0).mul(100).round(2)
    2021    2022   2023
0  42.86  100.00  100.0
1  25.00  100.00  100.0
2   0.00   20.00  100.0
3  57.14   71.43  100.0

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

누락 된 분기에 대한 데이터가 0 인 행을 Pandas 데이터 프레임에 삽입하는 방법은 무엇입니까?

분류에서Dev

두 데이터 프레임 사이에서 누락 된 데이터에 대한 병합을 계산하고 적용하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임에서 선택한 행 집합에 대해 수학을 수행하는 가장 효율적인 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임에서 값이 누락 된 경우 한 데이터 프레임에서 행을 삭제하는 방법은 무엇입니까?

분류에서Dev

개별 열기 / 닫기 상태를 포함하는 데이터 프레임에 대한 누적 막대 그림을 만드는 방법은 무엇입니까?

분류에서Dev

파이썬에서 여러 인덱스를 사용하여 데이터 프레임에 대한 누적 플롯을 만드는 방법은 무엇입니까?

분류에서Dev

범주화 된 데이터 프레임에 대한 누적 영역 플롯을 얻는 방법은 무엇입니까?

분류에서Dev

데이터 프레임에서 열을 최대화하는 행을 찾는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 NaN의 백분율을 그리는 방법은 무엇입니까?

분류에서Dev

데이터 프레임에서 플롯으로 누적 막대를 그리는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 누락 된 인덱스에 대한 새 행을 추가하는 방법은 무엇입니까?

분류에서Dev

Spark 데이터 프레임에서 그룹화 된 백분율을 계산하는 더 간단한 방법은 무엇입니까?

분류에서Dev

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

분류에서Dev

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

분류에서Dev

R의 격자 누적 막대 차트에 레이블을 백분율로 추가하는 방법은 무엇입니까?

분류에서Dev

Plotly in R : 시계열 데이터에서 누적 막대 차트를 그려 백분율 구성을 표시하는 방법은 무엇입니까?

분류에서Dev

R에서 여러 데이터 프레임에서 열에 대한 평균 백분율 통계를 도출하는 방법은 무엇입니까?

분류에서Dev

한 데이터 프레임의 행을 Pandas의 다른 데이터 프레임의 열로 전치하는 최적의 방법은 무엇입니까?

분류에서Dev

누락 된 값의 백분율을 기반으로 데이터 프레임에서 열의 다양한 범위의 Quantile을 계산하는 방법은 무엇입니까?

분류에서Dev

누락 된 값의 백분율을 기반으로 데이터 프레임에서 열의 다양한 범위의 Quantile을 계산하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임에 대한 기준 벡터로 데이터 프레임을 부분 집합시키는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 백분율 분포를 사용하여 수평 막대 그래프를 그리는 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임의 한 데이터 프레임에서 모든 값을 찾는 가장 좋은 방법은 무엇입니까?

분류에서Dev

데이터 프레임에 대해 Pandas에서 행 값을 재설정하는 방법은 무엇입니까?

분류에서Dev

한 번에 여러 데이터 프레임을 병합 (효율적인 방법)하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임에서 값을 효율적으로 전송하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임의 열에 대한 Seaborn distplot을 만드는 방법은 무엇입니까?

분류에서Dev

데이터 프레임 목록에서 동일한 행을 선택하는 방법은 무엇입니까?

분류에서Dev

R의 두 데이터 프레임에서 고유 한 행을 제거하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    누락 된 분기에 대한 데이터가 0 인 행을 Pandas 데이터 프레임에 삽입하는 방법은 무엇입니까?

  2. 2

    두 데이터 프레임 사이에서 누락 된 데이터에 대한 병합을 계산하고 적용하는 방법은 무엇입니까?

  3. 3

    데이터 프레임에서 선택한 행 집합에 대해 수학을 수행하는 가장 효율적인 방법은 무엇입니까?

  4. 4

    다른 데이터 프레임에서 값이 누락 된 경우 한 데이터 프레임에서 행을 삭제하는 방법은 무엇입니까?

  5. 5

    개별 열기 / 닫기 상태를 포함하는 데이터 프레임에 대한 누적 막대 그림을 만드는 방법은 무엇입니까?

  6. 6

    파이썬에서 여러 인덱스를 사용하여 데이터 프레임에 대한 누적 플롯을 만드는 방법은 무엇입니까?

  7. 7

    범주화 된 데이터 프레임에 대한 누적 영역 플롯을 얻는 방법은 무엇입니까?

  8. 8

    데이터 프레임에서 열을 최대화하는 행을 찾는 방법은 무엇입니까?

  9. 9

    Pandas 데이터 프레임에서 NaN의 백분율을 그리는 방법은 무엇입니까?

  10. 10

    데이터 프레임에서 플롯으로 누적 막대를 그리는 방법은 무엇입니까?

  11. 11

    Pandas 데이터 프레임에서 누락 된 인덱스에 대한 새 행을 추가하는 방법은 무엇입니까?

  12. 12

    Spark 데이터 프레임에서 그룹화 된 백분율을 계산하는 더 간단한 방법은 무엇입니까?

  13. 13

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

  14. 14

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

  15. 15

    R의 격자 누적 막대 차트에 레이블을 백분율로 추가하는 방법은 무엇입니까?

  16. 16

    Plotly in R : 시계열 데이터에서 누적 막대 차트를 그려 백분율 구성을 표시하는 방법은 무엇입니까?

  17. 17

    R에서 여러 데이터 프레임에서 열에 대한 평균 백분율 통계를 도출하는 방법은 무엇입니까?

  18. 18

    한 데이터 프레임의 행을 Pandas의 다른 데이터 프레임의 열로 전치하는 최적의 방법은 무엇입니까?

  19. 19

    누락 된 값의 백분율을 기반으로 데이터 프레임에서 열의 다양한 범위의 Quantile을 계산하는 방법은 무엇입니까?

  20. 20

    누락 된 값의 백분율을 기반으로 데이터 프레임에서 열의 다양한 범위의 Quantile을 계산하는 방법은 무엇입니까?

  21. 21

    데이터 프레임에 대한 기준 벡터로 데이터 프레임을 부분 집합시키는 방법은 무엇입니까?

  22. 22

    Pandas 데이터 프레임에서 백분율 분포를 사용하여 수평 막대 그래프를 그리는 방법은 무엇입니까?

  23. 23

    다른 데이터 프레임의 한 데이터 프레임에서 모든 값을 찾는 가장 좋은 방법은 무엇입니까?

  24. 24

    데이터 프레임에 대해 Pandas에서 행 값을 재설정하는 방법은 무엇입니까?

  25. 25

    한 번에 여러 데이터 프레임을 병합 (효율적인 방법)하는 방법은 무엇입니까?

  26. 26

    데이터 프레임에서 값을 효율적으로 전송하는 방법은 무엇입니까?

  27. 27

    Pandas 데이터 프레임의 열에 대한 Seaborn distplot을 만드는 방법은 무엇입니까?

  28. 28

    데이터 프레임 목록에서 동일한 행을 선택하는 방법은 무엇입니까?

  29. 29

    R의 두 데이터 프레임에서 고유 한 행을 제거하는 방법은 무엇입니까?

뜨겁다태그

보관