pl.col('tbp_lv_A').truediv(pl.col('tbp_lv_Aext').mul(pl.col('tbp_lv_A').min()))
.over('age_approx')
.cast(pl.Float32).alias('tbp_lv_ratio_A'),
이 코드는 Polars 라이브러리를 사용하여 특정 열의 값을 계산하고 변환하는 연산입니다. 각 부분의 의미를 다음과 같이 설명할 수 있습니다:
pl.col('tbp_lv_A'): 'tbp_lv_A'라는 열을 선택합니다.
pl.col('tbp_lv_A').min(): 'tbp_lv_A' 열의 최소값을 계산합니다.
pl.col('tbp_lv_Aext').mul(pl.col('tbp_lv_A').min()): 'tbp_lv_Aext' 열의 값을 'tbp_lv_A' 열의 최소값과 곱합니다.
pl.col('tbp_lv_A').truediv(...): 'tbp_lv_A' 열의 값을 위에서 계산한 결과로 나눕니다.
.over('age_approx'): 그룹화 연산으로, 'age_approx' 열을 기준으로 연산을 수행합니다.
.cast(pl.Float32): 결과를 Float32 타입으로 변환합니다.
.alias('tbp_lv_ratio_A'): 최종 결과 열의 이름을 'tbp_lv_ratio_A'로 지정합니다.
요약하자면, 이 코드는 'tbp_lv_A' 열의 값을 'tbp_lv_Aext' 열과 'tbp_lv_A' 열의 최소값을 곱한 값으로 나눈 후, 이를 'age_approx'로 그룹화하여 Float32 타입으로 변환하고 'tbp_lv_ratio_A'라는 새로운 열로 저장하는 연산입니다.
pl.col('tbp_lv_A').sub(pl.col('tbp_lv_Aext'))
.cast(pl.Float32).alias('tbp_lv_contrast_A'),
이 코드는 Polars 라이브러리를 사용하여 특정 열의 값을 계산하고 변환하는 연산입니다. 각 부분의 의미를 다음과 같이 설명할 수 있습니다:
pl.col('tbp_lv_A'): 'tbp_lv_A'라는 열을 선택합니다.
pl.col('tbp_lv_A').sub(pl.col('tbp_lv_Aext')): 'tbp_lv_A' 열의 값에서 'tbp_lv_Aext' 열의 값을 뺍니다. 즉, 두 열의 차이를 계산합니다.
.cast(pl.Float32): 결과를 Float32 타입으로 변환합니다.
.alias('tbp_lv_contrast_A'): 최종 결과 열의 이름을 'tbp_lv_contrast_A'로 지정합니다.
요약하자면, 이 코드는 'tbp_lv_A' 열에서 'tbp_lv_Aext' 열의 값을 뺀 후, 그 결과를 Float32 타입으로 변환하고 'tbp_lv_contrast_A'라는 새로운 열로 저장하는 연산입니다.