Skip to content

文件上传、数据展示和图表绘制

效果见下图所示

image-20250409220513285image-20250409220539045image-20250409220556504
python
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt

# 标题
st.title('数据分析应用')

# 文件上传
uploaded_file = st.file_uploader("选择一个 CSV 文件", type="csv")

if uploaded_file is not None:
    # 读取文件内容
    df = pd.read_csv(uploaded_file)
    
    # 显示数据概览
    st.subheader('数据预览')
    st.write(df.head())
    
    # 显示统计数据
    st.subheader('统计数据')
    st.write(df.describe())
    
    # 选择列名
    column = st.selectbox('请选择一列', df.columns)
    
    # 绘制直方图
    fig, ax = plt.subplots()
    df[column].hist(ax=ax)
    st.subheader(f'{column} 列的直方图')
    st.pyplot(fig)

测试数据

复制以下数据保存为demo.csv

shell
业态类型,店铺名称,"经营面积
(平方米)",从业人数(人)
便利店,百果园,80,6
便利店,便利蜂,100,15
便利店,锅圈食汇,80,5
便利店,一比一,100,15
便利店,711便利店,80,6
便利店,便利蜂,100,6