AnalysisZaliAi / app.py
Esmaeilkiani's picture
Update app.py
25b44c4 verified
Raw History Blame Contribute Delete
2.37 kB
import streamlit as st
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
st.title('Zali Ai - مطالعات کاربردی دهخدا')
# آپلود فایل
uploaded_file = st.file_uploader("لطفا فایل CSV یا Excel خود را آپلود کنید", type=['csv', 'xlsx'])
if uploaded_file:
# خواندن فایل
if uploaded_file.name.endswith('.csv'):
df = pd.read_csv(uploaded_file)
else:
df = pd.read_excel(uploaded_file)
st.write("فایل آپلود شده:")
st.write(df.head())
# انتخاب ستون‌ها
columns = df.columns.tolist()
selected_columns = st.multiselect('ستون‌های مورد نظر برای تحلیل را انتخاب کنید', columns)
if selected_columns:
st.write("ستون‌های انتخاب شده:")
st.write(df[selected_columns])
# رسم نمودار سه‌بعدی
if len(selected_columns) >= 3:
fig = px.scatter_3d(df, x=selected_columns[0], y=selected_columns[1], z=selected_columns[2],
color=selected_columns[2])
st.plotly_chart(fig)
# رسم چارت سه‌بعدی
for col in selected_columns:
fig = px.histogram(df, x=col, nbins=30, title=f'Histogram of {col}')
st.plotly_chart(fig)
# رسم هیتوگرام سه‌بعدی
if len(selected_columns) >= 2:
fig = go.Figure(data=[go.Histogram2dContour(
x=df[selected_columns[0]],
y=df[selected_columns[1]],
contours=dict(
coloring='heatmap',
),
colorscale='Blues',
)])
st.plotly_chart(fig)
# نمودارهای اضافی
if len(selected_columns) >= 3:
fig = px.line_3d(df, x=selected_columns[0], y=selected_columns[1], z=selected_columns[2],
title='Line 3D Chart')
st.plotly_chart(fig)
fig = px.scatter_3d(df, x=selected_columns[0], y=selected_columns[1], z=selected_columns[2],
title='Scatter 3D Chart')
st.plotly_chart(fig)
# استایل CSS
st.markdown("""
<style>
body {
font-family: "Vazir", sans-serif;
}
</style>
""", unsafe_allow_html=True)