import numpy as np import math import xlrd #读excel数据用 from operator import itemgetter #排序用 import pandas as pd import random import matplotlib.pyplot as plt #*******************************读取数据************************************* # 读取excel数据,储存用户数据,出发点编号为0,用户1的编号为1,用户120的编号为120 data = pd.read_excel('data.xlsx', engine='openpyxl') print(data) # 获取节点坐标和需求 # 假设excel文件的第一列是x坐标,第二列是y坐标,第三列是需求 x = data.iloc[:, 0].tolist() # 获取所有行的第一列数据 y = data.iloc[:, 1].tolist() # 获取所有行的第二列数据 demands


= data.iloc[:, 2].tolist() # 获取所有行的第三列数据 #*******************************初始化参数************************************* # 计算节点数 num_nodes = len(x) # 计算车辆数 num_vehicles = 3 # 车辆容量 vehicle_capacity = 50 # 节点编号0代表起点,如果有120个点,则节点编号为1-120 nodes = [i for i in range(num_nodes)] # 计算车辆的起始节点和结束节点都是节点0 depot = 0 #*******************************计算距离************************************* def distance(x1, y1, x2, y2): return math.sqrt((x1 - x2)**2 + (y1 - y2)**2) # 计算节点之间的距禽 distances = {} for from_node in nodes: distances[from_node] = {} for to_node in nodes: if from_node == to_node: distances[from_node][to_node] = 0 else: distances[from_node][to_node] = distance(x[from_node], y[from_node], x[to_node], y[to_node]) print(distances) #*******************************模拟退火算法************************************* def get_route_cost(route): cost = 0 for i in range(len(route) - 1): cost += distances[route[i]][route[i+1]] return cost def simulated_annealing(num_vehicles, vehicle_capacity, demands, distances, num_iterations = 1000, initial_temperature = 1000, cooling_rate = 0.999): # 初始化当前最优解 best_solution = [] best_cost = float('inf') # 生成初始解 current_solution = [] unserved_nodes = [i for i in range(1, num_nodes)] for i in range(num_vehicles): route = [] capacity = vehicle_capacity while capacity > 0 and len(unserved_nodes) > 0: node = random.choice(unserved_nodes) if capacity >= demands[node]: route.append(node) capacity -= demands[node] unserved_nodes.remove(node) route = [0] + route + [0] current_solution.append(route) # 计算当前解的成本 current_cost = sum([get_route_cost(route) for route in current_solution]) # 初始化温度 temperature = initial_temperature # 模拟退火迭代 for i in range(num_iterations): # 生成邻域解 neighbor_solution = current_solution.copy() vehicle = random.randint(0, num_vehicles - 1) while len(neighbor_solution[vehicle]) <= 2: vehicle = random.randint(0, num_vehicles - 1) node1 = random.choice(neighbor_solution[vehicle][1:-1]) neighbor_solution[vehicle].remove(node1) vehicle = random.randint(0, num_vehicles - 1) node2 = random.choice([node for node in unserved_nodes if demands[node] <= vehicle_capacity - sum(demands[i] for i in neighbor_solution[vehicle][1:-1])]) unserved_nodes.remove(node2) neighbor_solution[vehicle].insert(random.randint(1, len(neighbor_solution[vehicle]) - 1), node2) # 计算邻域解的成本 neighbor_cost = sum([get_route_cost(route) for route in neighbor_solution]) # 判断是否接受邻域解 if neighbor_cost < current_cost or random.random() < math.exp((current_cost - neighbor_cost) / temperature): current_solution = neighbor_solution current_cost = neighbor_cost # 更新最优解 if current_cost < best_cost: best_solution = current_solution best_cost = current_cost # 降低温度 temperature *= cooling_rate return best_solution, best_cost # 运行模拟退火算法 best_solution, best_cost = simulated_annealing(num_vehicles, vehicle_capacity, demands, distances) # 输出结果 print("Best solution:", best_solution) print("Best cost:", best_cost) #*******************************绘制路径************************************* def plot_route(x, y, route): for i in range(1, len(route)): plt.plot([x[route[i-1]], x[route[i]]], [y[route[i-1]], y[route[i]]], 'bo-') plt.plot([x[route[-1]], x[0]], [y[route[-1]], y[0]], 'bo-') plt.figure() for i, route in enumerate(best_solution): plot_route(x, y, route) plt.plot(x[0], y[0], 'ro') plt.show() [2024-11-25 15:32:50 | AI写代码神器 | 2729点数解答]
- import numpy as np import math import xlrd #读excel数据用 from operator import itemgetter #排序用 import pandas as pd import random import matplotlib.pyplot as plt #*******************************读取数据************************************* # 读取excel数据,储存用户数据,出发点编号为0,用户1的编号为1,用户120的编号为120 data = pd.read_excel('data.xlsx', engine='openpyxl') print(data) # 获取节点坐标和需求 # 假设excel文件的第一列是x坐标,第二列是y坐标,第三列是需求 x = data.iloc[:, 0].tolist() # 获取所有行的第一列数据 y = data.iloc[:, 1].tolist() # 获取所有行的第二列数据 demands(2729点数解答 | 2024-11-25 15:32:50)182
- import numpy as np import pandas as pd import matplotlib.pyplot as plt # 读取教学账目数据 teaching_df = pd.read_excel('教学.xlsx') # 读取后勤账目数据 logistics_df = pd.read_excel('后勤.xlsx') # 读取行政账目数据 administrative_df = pd.read_excel('行政.xlsx') # 将各表格的取得日期列转换为日期时间类型,并提取年份作为新列 teaching_df['年份'] = pd.to_datetime(teaching_df['取得日期'], format='%y-%m-%d').dt.year logistics_df['年份'] = pd.to_datetime(logistics_df['取得日期'], format='%y-%m-%d').dt.year administrative_df['年份'] = pd.to_datetime(administrative_df['取得日期'], fo(69点数解答 | 2024-10-31 17:39:14)221
- import os import datetime from flask import Flask, request, jsonify import requests from flask_cors import CORS import re import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import numpy as np import base64 from io import BytesIO import pandas as pd import traceback # 添加traceback以获取详细错误信息 plt.rcParams["font.sans-serif"] = ["SimHei"] app = Flask(__name__) CORS(app) FASTGPT_API_URL = 'http://localhost:3000/api/v1/chat/completions' FASTGPT_API_KEY = 'fastgpt-gWzitHpBa8XRr0q(713点数解答 | 2025-06-18 16:00:34)116
- 以下代码生成包含广告成本和销售额的模拟数据,用来分析广告投入与销售额之间的关系。请补全以下代码,完成从数据生成到可视化分析的全过程。代码包含8个空缺(空1至空8),请根据上下文和注释提示填入正确的代码。 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns plt.rcParams['font.sans-serif'] = ['SimHei'] # 生成模拟数据 np.random.seed(123) # 设置随机种子 ad_cost = np.random.uniform(10, 100, 50) # 生成均匀分布数据 sales = 50 + 2.5 * ad_cost + np.random.normal(0, 20, 50) # 生成正态分布噪声 data = pd.______({'Ad_Cost': ad_cost, 'Sales': sales}) # 空1:创建DataFrame print(data) (939点数解答 | 2025-05-26 23:04:07)114
- ```python import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation from mpl_toolkits.mplot3d import Axes3D # 设置图形 fig = plt.figure(figsize=(10, 8)) ax = fig.add_subplot(111, projection='3d') ax.set_facecolor('black') fig.patch.set_facecolor('black') # 爱心参数方程 def heart(t): x = 16 * np.sin(t) 3 y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t) return x, y # 生成爱心形状的点 t = np.linspace(0, 2*np.pi, 1000) x, y = heart(t) z = np.(1487点数解答 | 2025-08-07 11:24:56)61
- ```python import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation from mpl_toolkits.mplot3d import Axes3D # 设置图形 fig = plt.figure(figsize=(10, 8)) ax = fig.add_subplot(111, projection='3d') ax.set_facecolor('black') fig.patch.set_facecolor('black') # 爱心参数方程 def heart(t): x = 16 * np.sin(t) 3 y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t) return x, y # 生成爱心形状的点 t = np.linspace(0, 2*np.pi, 1000) x, y = heart(t) z = np.(130点数解答 | 2025-08-29 21:24:33)51
- import numpy as np import matplotlib.pyplot as plt from scipy.stats import chi2 import pandas as pd import itertools from statsmodels.stats.outliers_influence import variance_inflation_factor from sklearn.impute import SimpleImputer # 用于简单缺失值填充 import plotly.graph_objects as go from plotly.subplots import make_subplots plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 # 问题背景与意义说明 # 在生产过程中,产品可能会出现多种类型的缺陷,通过对不同缺陷类型的频数分布进行监控, # 可以及时发(925点数解答 | 2025-04-05 17:47:55)136
- #读取文件,查看数据前5行 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 读取文件 order = pd.read_csv(r'c:\users\30648\desktop\案例分析与设计实践\项目3输出结果.csv') print(order.head()) #查看数据类型是否正确,有没有缺失俏 print(order.info()) #后面要用到下单时间处理总量,先将它转换为时间类型 order['下单时间']= pd.to_datetime(order['下单时间']) #查看数据统计信息 print(order.describe()) #用户支付方式饼图 #设置中文编码和负号的正常显示 plt.rcparams['font.sans-serif']=['simhei'] plt.rcparams['axes.unicode_minus']= false group1 = order.groupby(by='支付状态')['支付状态'].count() # 准备标签 name(81点数解答 | 2024-10-24 10:38:10)237
- #读取文件,查看数据前5行 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 读取文件 order = pd.read_csv(r'c:\users\30648\desktop\案例分析与设计实践\项目3输出结果.csv') print(order.head()) #查看数据类型是否正确,有没有缺失俏 print(order.info()) #后面要用到下单时间处理总量,先将它转换为时间类型 order['下单时间']= pd.to_datetime(order['下单时间']) #查看数据统计信息 print(order.describe()) #用户支付方式饼图 #设置中文编码和负号的正常显示 plt.rcparams['font.sans-serif']=['simhei'] plt.rcparams['axes.unicode_minus']= false group1 = order.groupby(by='支付状态')['支付状态'].count() # 准备标签 names(296点数解答 | 2024-10-31 08:56:30)221
- #读取文件,查看数据前5行 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 读取文件 order = pd.read_csv(r'c:\users\30648\desktop\案例分析与设计实践\项目3输出结果.csv') print(order.head()) #查看数据类型是否正确,有没有缺失俏 print(order.info()) #后面要用到下单时间处理总量,先将它转换为时间类型 order['下单时间']= pd.to_datetime(order['下单时间']) #查看数据统计信息 print(order.describe()) #用户支付方式饼图 #设置中文编码和负号的正常显示 plt.rcparams['font.sans-serif']=['simhei'] plt.rcparams['axes.unicode_minus']= false group1 = order.groupby(by='支付状态')['支付状态'].count() # 准备标签 names =(31点数解答 | 2024-10-31 08:58:19)194
- import openpyxl import smtplib import imaplib import email import json import os import re from bs4 import BeautifulSoup from fastapi import FastAPI, Form from openpyxl.styles import Alignment from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.header import decode_header from email import encoders import pandas as pd app = FastAPI() RECEIVER_EMAILS = { 0: "yundongshijie001@protonmail.com", 1: "xiaobudian001@protonmail.com" } email_address = "(182点数解答 | 2025-04-12 00:49:09)162
- 阅读代码完成填空1~7题 import numpy as np # 生成 1000 个服从正态分布的随机整数(均值 100,标准差 8) np.random.seed(42) num1 = np.random.normal( ______, 8, size=1000).reshape(-1,1). ______ #第1、2空 # 生成 1000 个 1 到 10 之间的随机整数 num2 = np.random.randint(1, ______, size=1000).reshape(-1,1) #第3空 # 合并数据 data = np.__________((num1, num2), axis=_________) #第4、5空 # 保存到 CSV 文件,数据间以逗号间隔,保存格式为整数%d np.savetxt("data.csv", data, delimiter="_________", fmt='%d',header="num1,num2", comments="") #第6空 # 读取 CSV 文(506点数解答 | 2025-03-23 14:32:14)199