아미(아름다운미소)

컬럼 유무 및 NaN 검사를 고려한 안전한 최대값 추출 본문

랭귀지/pandas

컬럼 유무 및 NaN 검사를 고려한 안전한 최대값 추출

유키공 2025. 7. 26. 06:36
# 컬럼 'a'가 있고, NaN이 아닌 값이 하나라도 있으면 최대값, 아니면 np.nan
df['a'] = df1['a'].max() if 'a' in df1.columns and df1['a'].notna().any() else np.nan

🎯 EX)

import pandas as pd
import numpy as np

# 예제 1: 'a' 컬럼이 있고, NaN이 아닌 값이 존재하는 경우
df1 = pd.DataFrame({'a': [3, 7, np.nan]})
df = pd.DataFrame(index=range(3))  # 결과를 저장할 df (빈 3행짜리)

# 적용
df['a'] = df1['a'].max() if 'a' in df1.columns and df1['a'].notna().any() else np.nan
print("예제 1 결과:\n", df)

# 예제 2: 'a' 컬럼이 있지만 모든 값이 NaN인 경우
df1 = pd.DataFrame({'a': [np.nan, np.nan]})
df = pd.DataFrame(index=range(3))

df['a'] = df1['a'].max() if 'a' in df1.columns and df1['a'].notna().any() else np.nan
print("\n예제 2 결과:\n", df)

# 예제 3: 'a' 컬럼이 존재하지 않는 경우
df1 = pd.DataFrame({'b': [1, 2, 3]})
df = pd.DataFrame(index=range(3))

df['a'] = df1['a'].max() if 'a' in df1.columns and df1['a'].notna().any() else np.nan
print("\n예제 3 결과:\n", df)

'랭귀지 > pandas' 카테고리의 다른 글

전체에 null이 하나라도 있으면 np.nan, 아니면 최대값  (1) 2025.07.25
길이 불일치  (0) 2025.07.25
카테고리타입  (1) 2025.07.25
Python으로 CSV → DuckDB 저장  (0) 2025.07.16
None type replace  (0) 2025.06.23
Comments