yokoha commited on
Commit
dd75514
Β·
verified Β·
1 Parent(s): 3f553db

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -2
app.py CHANGED
@@ -153,7 +153,7 @@ def _standardize_columns(df: pd.DataFrame) -> pd.DataFrame:
153
  if len(df) > 0:
154
  # 더 μœ μ—°ν•œ λ‚ μ§œ λ³€ν™˜
155
  try:
156
- # μƒ˜ν”Œ 확인
157
  sample = str(df["date"].iloc[0])
158
 
159
  # YYYYMM ν˜•μ‹ (6자리)
@@ -214,9 +214,33 @@ def load_data() -> pd.DataFrame:
214
  st.error(f"ν•„μˆ˜ 컬럼 λˆ„λ½: {', '.join(missing)} β€” 파일 컬럼λͺ…을 ν™•μΈν•˜μ„Έμš”.")
215
  st.stop()
216
 
 
 
 
217
  # λ‚ μ§œ λ³€ν™˜ μ „ν›„ 데이터 수 확인
218
  before_date_convert = len(df)
219
- df["date"] = pd.to_datetime(df["date"], errors="coerce")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
  after_date_convert = df.dropna(subset=["date"]).shape[0]
221
  if before_date_convert != after_date_convert:
222
  st.sidebar.warning(f"λ‚ μ§œ λ³€ν™˜ 쀑 {before_date_convert - after_date_convert}개 행이 μ œμ™Έλ˜μ—ˆμŠ΅λ‹ˆλ‹€.")
 
153
  if len(df) > 0:
154
  # 더 μœ μ—°ν•œ λ‚ μ§œ λ³€ν™˜
155
  try:
156
+ # μƒ˜ν”Œ 확인 (λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜μ—¬ μ•ˆμ „ν•˜κ²Œ 처리)
157
  sample = str(df["date"].iloc[0])
158
 
159
  # YYYYMM ν˜•μ‹ (6자리)
 
214
  st.error(f"ν•„μˆ˜ 컬럼 λˆ„λ½: {', '.join(missing)} β€” 파일 컬럼λͺ…을 ν™•μΈν•˜μ„Έμš”.")
215
  st.stop()
216
 
217
+ # λ‚ μ§œ 데이터 확인
218
+ st.sidebar.write("λ‚ μ§œ 컬럼 데이터 μƒ˜ν”Œ:", df["date"].head().tolist())
219
+
220
  # λ‚ μ§œ λ³€ν™˜ μ „ν›„ 데이터 수 확인
221
  before_date_convert = len(df)
222
+
223
+ # κΈ°μ‘΄ dateκ°€ λ¬Έμžμ—΄μ΄κ³  λ…„μ›” ν˜•μ‹(YYYYMM)인 경우 처리
224
+ if pd.api.types.is_object_dtype(df["date"]):
225
+ try:
226
+ # 숫자둜만 κ΅¬μ„±λœ λ¬Έμžμ—΄μΈμ§€ 확인
227
+ is_numeric = df["date"].str.isnumeric().all()
228
+
229
+ # λ§Œμ•½ YYYYMM ν˜•μ‹μ΄λ©΄ (6자리 숫자)
230
+ if is_numeric and df["date"].str.len().mean() >= 6:
231
+ # YYYYMM ν˜•μ‹ λ³€ν™˜
232
+ df["date"] = pd.to_datetime(df["date"].astype(str), format="%Y%m")
233
+ # μ›”μ˜ λ§ˆμ§€λ§‰ λ‚ λ‘œ μ„€μ •
234
+ df["date"] = df["date"] + pd.offsets.MonthEnd(0)
235
+ else:
236
+ # 일반 λ³€ν™˜
237
+ df["date"] = pd.to_datetime(df["date"], errors="coerce")
238
+ except:
239
+ # 일반 λ³€ν™˜
240
+ df["date"] = pd.to_datetime(df["date"], errors="coerce")
241
+
242
+ # λ‚ μ§œ λ³€ν™˜ ν›„ 데이터 확인
243
+ st.sidebar.write("λ‚ μ§œ λ³€ν™˜ ν›„ μƒ˜ν”Œ:", df["date"].head().tolist())
244
  after_date_convert = df.dropna(subset=["date"]).shape[0]
245
  if before_date_convert != after_date_convert:
246
  st.sidebar.warning(f"λ‚ μ§œ λ³€ν™˜ 쀑 {before_date_convert - after_date_convert}개 행이 μ œμ™Έλ˜μ—ˆμŠ΅λ‹ˆλ‹€.")