반응형
단일 ID 열을 포함하는 데이터 프레임이 있고 다른 모든 열은 z 점수를 계산하려는 숫자 값입니다. 다음은 하위 섹션입니다.
ID Age BMI Risk Factor
PT 6 48 19.3 4
PT 8 43 20.9 NaN
PT 2 39 18.1 3
PT 9 41 19.5 NaN
df['zscore'] = (df.a - df.a.mean())/df.a.std(ddof=0)
이 솔루션을 ID 열을 제외한 모든 열에 적용하여 Excel 파일로 저장할 수있는 새 데이터 프레임을 생성하는 데 관심이 있습니다.
df2.to_excel("Z-Scores.xlsx")
그래서 기본적으로; NaN 값을 무시하고 각 열에 대한 z- 점수를 계산하고 모든 것을 새 데이터 프레임으로 푸시하려면 어떻게해야합니까?
SIDENOTE : 팬더에는 "인덱싱"이라는 개념이 있는데, 제가 그것을 잘 이해하지 못하기 때문에 저를 위협합니다. 인덱싱이이 문제를 해결하는 데 중요한 부분이라면 인덱싱에 대한 설명을 무시하십시오.
해결 방법
열에서 목록을 작성하고 Z 점수를 계산하지 않을 열을 제거합니다.
In [66]:
cols = list(df.columns)
cols.remove('ID')
df[cols]
Out[66]:
Age BMI Risk Factor
0 6 48 19.3 4
1 8 43 20.9 NaN
2 2 39 18.1 3
3 9 41 19.5 NaN
In [68]:
# now iterate over the remaining columns and create a new zscore column
for col in cols:
col_zscore = col + '_zscore'
df[col_zscore] = (df[col] - df[col].mean())/df[col].std(ddof=0)
df
Out[68]:
ID Age BMI Risk Factor Age_zscore BMI_zscore Risk_zscore 0 PT 6 48 19.3 4 -0.093250 1.569614 -0.150946
1 PT 8 43 20.9 NaN 0.652753 0.074744 1.459148
2 PT 2 39 18.1 3 -1.585258 -1.121153 -1.358517
3 PT 9 41 19.5 NaN 1.025755 -0.523205 0.050315
Factor_zscore
0 1
1 NaN
2 -1
3 NaN
참조 페이지 https://stackoverflow.com/questions/24761998
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python in-memory zip library (0) | 2020.12.12 |
---|---|
파이썬 How to use Python sets and add strings to it in as a dictionary value (0) | 2020.12.12 |
파이썬 BeautifulSoup을 사용하여 클래스에있는 특정 링크를 검색하기 위해 CSS 선택기를 사용하는 방법은 무엇입니까? (0) | 2020.12.12 |
파이썬 How to rename a file using Python (0) | 2020.12.12 |
파이썬 목록에서 모든 값을 파이썬 적으로 산출하는 방법은 무엇입니까? (0) | 2020.12.12 |
댓글