当前位置: 首页 > news >正文

Pandas和Django的示例Demo

以下是一个结合Pandas和Django的示例Demo,展示如何在Django项目中读取、处理和展示Pandas数据。

Pandas和Django的示例Demo

前置条件:

安装python

基础设置

确保已安装Django和Pandas:

pip install django pandas
Installing collected packages: sqlparse, asgiref, django
Successfully installed asgiref-3.8.1 django-5.2.2 sqlparse-0.5.3

创建一个Django项目和应用:

django-admin startproject pandas_django_demo
cd pandas_django_demo
python manage.py startapp data_app

建立后django会生成下面目录

模型与数据处理

data_app/models.py中定义一个简单模型:

from django.db import modelsclass DataRecord(models.Model):name = models.CharField(max_length=100)value = models.FloatField()timestamp = models.DateTimeField(auto_now_add=True)

data_app/views.py中使用Pandas处理数据:

import pandas as pd
from django.shortcuts import render
from .models import DataRecorddef data_view(request):# 从数据库获取数据并转为DataFramequeryset = DataRecord.objects.all().values()df = pd.DataFrame.from_records(queryset)# 示例操作:计算统计值stats = {'mean': df['value'].mean(),'max': df['value'].max(),'min': df['value'].min()}# 将DataFrame转为HTML表格html_table = df.to_html(classes='table table-striped', index=False)return render(request, 'data_display.html', {'stats': stats,'html_table': html_table})

模板展示

创建templates/data_app/data_display.html

<!DOCTYPE html>
<html>
<head><title>Pandas + Django Demo</title><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body><div class="container mt-4"><h3>数据统计</h3><ul><li>平均值: {{ stats.mean }}</li><li>最大值: {{ stats.max }}</li><li>最小值: {{ stats.min }}</li></ul><h3 class="mt-4">原始数据</h3>{{ html_table|safe }}</div>
</body>
</html>

URL配置

在项目urls.py中添加路由:

from django.contrib import admin
from django.urls import path
from data_app import viewsurlpatterns = [path('admin/', admin.site.urls),path('', views.data_view, name='data_view'),
]

或者用手工得方式添加测试记录

运行步骤

  1. 迁移数据库:
python manage.py makemigrations
python manage.py migrate

创建admin用户

python mange.py createsuperuser

输入admin,输入admin@qq.com,输入密码admin123

后台登录输入admin/admin123

  1. 启动开发服务器:
python manage.py runserver

  1. 访问http://127.0.0.1:8000查看结果。

数据导入示例

在Django shell中生成测试数据:

import random
from data_app.models import DataRecord
from django.utils import timezonefor i in range(10):DataRecord.objects.create(name=f"Item_{i}",value=random.uniform(10, 100),timestamp=timezone.now())

或者手工输入dataRecord得记录

运行结果

python manage.py runserver

June 05, 2025 - 20:05:00
Django version 5.2.2, using settings 'pandas_django_demo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.WARNING: This is a development server. Do not use it in a production setting. Use a production WSGI or ASGI server instead.
For more information on production servers see: https://docs.djangoproject.com/en/5.2/howto/deployment/
[05/Jun/2025 20:05:07] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:08] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:09] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:09] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:09] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:09] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:10] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:10] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:10] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:10] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:10] "GET /data_app/ HTTP/1.1" 200 460
[05/Jun/2025 20:05:16] "GET / HTTP/1.1" 200 3493

打开浏览器

http://www.xdnf.cn/news/880165.html

相关文章:

  • vlan(虚拟局域网)逻辑图解+实验详解
  • kafka部署
  • SSH/RDP无法远程连接?腾讯云CVM及通用服务器连接失败原因与超全排查指南
  • 前端常见错误
  • 10. vue pinia 和react redux、jotai对比
  • 从零开始的云计算——番外实战,iptables防火墙项目
  • 第六个微信小程序:教师工具集
  • 虚实共生时代的情感重构:AI 恋爱陪伴的崛起、困局与明日图景
  • 主流消息队列对比
  • OpenCV 图像像素的逻辑操作
  • 学习STC51单片机28(芯片为STC89C52RCRC)
  • 前端使用 preview 插件预览docx文件
  • 获取KIMI API以及API key
  • 板凳-------Mysql cookbook学习 (十)
  • 20250605使用boot-repair来恢复WIN10和ubuntu22.04.6双系统的启动
  • ASP.NET Core使用Quartz部署到IIS资源自动被回收解决方案
  • 20250605在荣品的PRO-RK3566开发板的Android13下让PMIC芯片RK809在长按下开机
  • pikachu靶场通关笔记16 CSRF关卡02-CSRF(POST)
  • Spring Boot 使用 SLF4J 实现控制台输出与分类日志文件管理
  • Linux系统编程-DAY10(TCP操作)
  • elementUI点击浏览table所选行数据查看文档
  • linux 故障处置通用流程-36计-14-27
  • JVM 核心概念深度解析
  • CB/T 3361-2019 甲板敷料检测
  • 中小企业IT运维痛点与OMS主动运维体系解析
  • 装一台水冷主机
  • uniappx插件nutpi-idcard 开发与使用指南(适配鸿蒙)
  • Linux C学习路线全概及知识点笔记2(仅供个人参考)
  • uniapp实现的简约美观的星级评分组件
  • uniapp图片文档预览