Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -42,11 +42,18 @@ def generate_plots(df, df_name, selected_columns, chart_type):
|
|
42 |
st.error("❌ 缺少 公司名稱 欄位,請確認數據格式!")
|
43 |
return
|
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
# ✅ **確保所有 y 軸數據與 x 軸 (公司名稱) 長度一致**
|
46 |
-
df = df.dropna(subset=["公司名稱"] +
|
47 |
-
df[
|
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"
|
|
|
42 |
st.error("❌ 缺少 公司名稱 欄位,請確認數據格式!")
|
43 |
return
|
44 |
|
45 |
+
# **檢查選擇的列是否存在於 DataFrame 中**
|
46 |
+
valid_columns = [col for col in selected_columns if col in df.columns]
|
47 |
+
|
48 |
+
# **如果有缺失的列,顯示錯誤信息**
|
49 |
+
missing_columns = set(selected_columns) - set(valid_columns)
|
50 |
+
if missing_columns:
|
51 |
+
st.error(f"❌ 缺少以下欄位,請確認數據格式!: {missing_columns}")
|
52 |
+
return
|
53 |
+
|
54 |
# ✅ **確保所有 y 軸數據與 x 軸 (公司名稱) 長度一致**
|
55 |
+
df = df.dropna(subset=["公司名稱"] + valid_columns) # **移除 NaN 確保長度相同**
|
56 |
+
df[valid_columns] = df[valid_columns].apply(pd.to_numeric, errors='coerce') # **轉換數據類型**
|
|
|
|
|
57 |
|
58 |
if not valid_columns:
|
59 |
st.error(f"❌ 選擇的欄位長度與 公司名稱 不匹配,請檢查數據!\n"
|