JUNGU commited on
Commit
cbb0a6e
Β·
verified Β·
1 Parent(s): 89d8e3e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -27
app.py CHANGED
@@ -49,33 +49,10 @@ def load_data(file):
49
  else:
50
  st.error("μ§€μ›λ˜μ§€ μ•ŠλŠ” 파일 ν˜•μ‹μž…λ‹ˆλ‹€. CSV, XLS, λ˜λŠ” XLSX νŒŒμΌμ„ μ—…λ‘œλ“œν•΄μ£Όμ„Έμš”.")
51
  return None
52
-
53
- # 빈 열이 μžˆλŠ” 경우 라벨링 처리
54
  if data.columns.isnull().any():
55
- new_columns = []
56
- for i, col in enumerate(data.columns):
57
- if pd.isnull(col):
58
- new_columns.append(f'Column_{i+1}')
59
- else:
60
- new_columns.append(col)
61
- data.columns = new_columns
62
-
63
- st.warning("일뢀 μ—΄ 이름이 λΉ„μ–΄ μžˆμ–΄μ„œ μžλ™μœΌλ‘œ 이름을 λΆ€μ—¬ν–ˆμŠ΅λ‹ˆλ‹€.")
64
-
65
- # μ‚¬μš©μžμ—κ²Œ μ—΄ 이름 μˆ˜μ • 기회 제곡
66
- st.write("ν˜„μž¬ μ—΄ 이름:")
67
- st.write(data.columns.tolist())
68
-
69
- if st.checkbox("μ—΄ 이름을 μˆ˜μ •ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?"):
70
- new_column_names = st.text_input("μƒˆλ‘œμš΄ μ—΄ 이름을 μ‰Όν‘œλ‘œ κ΅¬λΆ„ν•˜μ—¬ μž…λ ₯ν•˜μ„Έμš”:",
71
- value=",".join(data.columns))
72
- new_column_names = [name.strip() for name in new_column_names.split(",")]
73
-
74
- if len(new_column_names) == len(data.columns):
75
- data.columns = new_column_names
76
- st.success("μ—΄ 이름이 μ„±κ³΅μ μœΌλ‘œ μ—…λ°μ΄νŠΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€.")
77
- else:
78
- st.error("μž…λ ₯ν•œ μ—΄ μ΄λ¦„μ˜ κ°œμˆ˜κ°€ ν˜„μž¬ μ—΄ κ°œμˆ˜μ™€ μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.")
79
 
80
  return data
81
 
@@ -228,9 +205,18 @@ def main():
228
 
229
  if st.session_state.data is not None:
230
  st.subheader("데이터 미리보기 및 μˆ˜μ •")
231
- st.write("데이터λ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μˆ˜μ •ν•˜μ„Έμš”:")
 
 
 
 
 
 
232
  edited_data = st.data_editor(st.session_state.data, num_rows="dynamic", key="data_editor")
233
 
 
 
 
234
  if st.button("데이터 뢄석 μ‹œμž‘", key="start_analysis") or st.session_state.analysis_performed:
235
  if not st.session_state.analysis_performed:
236
  st.session_state.processed_data = preprocess_data(edited_data)
 
49
  else:
50
  st.error("μ§€μ›λ˜μ§€ μ•ŠλŠ” 파일 ν˜•μ‹μž…λ‹ˆλ‹€. CSV, XLS, λ˜λŠ” XLSX νŒŒμΌμ„ μ—…λ‘œλ“œν•΄μ£Όμ„Έμš”.")
51
  return None
52
+
53
+ # 빈 μ—΄ 이름에 κΈ°λ³Έκ°’ λΆ€μ—¬
54
  if data.columns.isnull().any():
55
+ data.columns = [f'Column_{i+1}' if pd.isnull(col) else col for i, col in enumerate(data.columns)]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
 
57
  return data
58
 
 
205
 
206
  if st.session_state.data is not None:
207
  st.subheader("데이터 미리보기 및 μˆ˜μ •")
208
+ st.write("데이터λ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ 경우 μˆ˜μ •ν•˜μ„Έμš”. μ—΄ 이름도 직접 μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€:")
209
+
210
+ # μ—΄ 이름 νŽΈμ§‘μ„ μœ„ν•œ 데이터 ν”„λ ˆμž„ 생성
211
+ column_df = pd.DataFrame({'column_name': st.session_state.data.columns})
212
+ edited_columns = st.data_editor(column_df, num_rows="dynamic", key="column_editor")
213
+
214
+ # 데이터 νŽΈμ§‘
215
  edited_data = st.data_editor(st.session_state.data, num_rows="dynamic", key="data_editor")
216
 
217
+ # μ—΄ 이름 μ—…λ°μ΄νŠΈ
218
+ edited_data.columns = edited_columns['column_name']
219
+
220
  if st.button("데이터 뢄석 μ‹œμž‘", key="start_analysis") or st.session_state.analysis_performed:
221
  if not st.session_state.analysis_performed:
222
  st.session_state.processed_data = preprocess_data(edited_data)