Rozeeeee commited on
Commit
18eb184
·
verified ·
1 Parent(s): 4db2d1d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -15
app.py CHANGED
@@ -34,23 +34,20 @@ def beautify_chart(fig):
34
  def generate_plots(df, df_name, selected_columns, chart_type):
35
  selected_columns = list(selected_columns) # 確保是列表
36
 
37
- # 檢查公司名稱
 
 
 
38
  if "公司名稱" not in df.columns:
39
  st.error("❌ 缺少 公司名稱 欄位,請確認數據格式!")
40
  return
41
 
42
- # **檢查選擇的列是否存在於 DataFrame 中**
43
- missing_columns = [col for col in selected_columns if col not in df.columns]
44
- for col in missing_columns:
45
- st.warning(f"⚠️ 缺少欄位 {col},將創建默認值填充。")
46
- df[col] = 0
47
-
48
- valid_columns = [col for col in selected_columns if col in df.columns]
49
-
50
  # ✅ **確保所有 y 軸數據與 x 軸 (公司名稱) 長度一致**
51
- df = df.dropna(subset=["公司名稱"] + valid_columns) # **移除 NaN 確保長度相同**
52
- df[valid_columns] = df[valid_columns].apply(pd.to_numeric, errors='coerce') # **轉換數據類型**
53
-
 
 
54
  if not valid_columns:
55
  st.error(f"❌ 選擇的欄位長度與 公司名稱 不匹配,請檢查數據!\n"
56
  f"📊 公司名稱 長度: {len(df['公司名稱'])}\n"
@@ -92,9 +89,6 @@ combined_df = pd.concat(dfs, ignore_index=True).fillna(0) # 合併數據並填
92
  # **再次填充 NaN 值**
93
  combined_df = combined_df.fillna(0)
94
 
95
- # **檢查欄位名稱**
96
- st.write("數據欄位名稱:", combined_df.columns)
97
-
98
  # **Streamlit UI**
99
  st.title("📊 台灣企業 ESG 數據分析")
100
 
 
34
  def generate_plots(df, df_name, selected_columns, chart_type):
35
  selected_columns = list(selected_columns) # 確保是列表
36
 
37
+ if not selected_columns:
38
+ st.error("❌ 沒有選擇數據欄位,請至少選擇一個!")
39
+ return
40
+
41
  if "公司名稱" not in df.columns:
42
  st.error("❌ 缺少 公司名稱 欄位,請確認數據格式!")
43
  return
44
 
 
 
 
 
 
 
 
 
45
  # ✅ **確保所有 y 軸數據與 x 軸 (公司名稱) 長度一致**
46
+ df = df.dropna(subset=["公司名稱"] + selected_columns) # **移除 NaN 確保長度相同**
47
+ df[selected_columns] = df[selected_columns].apply(pd.to_numeric, errors='coerce') # **轉換數據類型**
48
+
49
+ valid_columns = [col for col in selected_columns if col in df.columns and len(df[col]) == len(df["公司名稱"])]
50
+
51
  if not valid_columns:
52
  st.error(f"❌ 選擇的欄位長度與 公司名稱 不匹配,請檢查數據!\n"
53
  f"📊 公司名稱 長度: {len(df['公司名稱'])}\n"
 
89
  # **再次填充 NaN 值**
90
  combined_df = combined_df.fillna(0)
91
 
 
 
 
92
  # **Streamlit UI**
93
  st.title("📊 台灣企業 ESG 數據分析")
94