20231407陈原 2024-2 python程序设计实验四《python综合实践》实验报告

20231407陈原 2024-05-29 22:36:22

实验内容

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
课代表和各小组负责人收集作业(源代码、视频、综合实践报告)

例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。

例如:利用公开数据集,开展图像分类、恶意软件检测等

例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。

例如:爬取天气数据,实现自动化微信提醒

例如:利用爬虫,实现自动化下载网站视频、文件等。

例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等

注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

程序代码

img

img

img

img

import matplotlib.pyplot as plt
import seaborn as sns


def create_csv(file_path):
    data = {
        'date': ['2023-01-01', '2023-01-01', '2023-01-02', '2023-01-02'],
        'product': ['Product A', 'Product B', 'Product A', 'Product B'],
        'sales': [30, 20, 25, 30],
        'revenue': [300, 200, 250, 300]
    }

    df = pd.DataFrame(data)

    df.to_csv(file_path, index=False)
    print("CSV file created successfully.")

def read_data(file_path):
    try:
        data = pd.read_csv(file_path)
        print("Data loaded successfully.")
        return data
    except FileNotFoundError:
        print("File not found.")
        return None

def clean_data(data):
    data = data.drop_duplicates()

    data = data.dropna()

    data['date'] = pd.to_datetime(data['date'])

    print("Data cleaned successfully.")
    return data


def analyze_data(data):
    total_revenue = data['revenue'].sum()
    print(f"Total Revenue: {total_revenue}")

    revenue_per_product = data.groupby('product')['revenue'].sum()
    print("Revenue per product:")
    print(revenue_per_product)

    daily_sales = data.groupby('date')['sales'].sum()

    return total_revenue, revenue_per_product, daily_sales

def visualize_data(revenue_per_product, daily_sales):
    plt.figure(figsize=(10, 5))

    plt.subplot(1, 2, 1)
    revenue_per_product.plot(kind='bar')
    plt.title('Revenue per Product')
    plt.xlabel('Product')
    plt.ylabel('Revenue')

    plt.subplot(1, 2, 2)
    daily_sales.plot(kind='line')
    plt.title('Daily Sales Trend')
    plt.xlabel('Date')
    plt.ylabel('Total Sales')

    plt.tight_layout()
    plt.show()
def main():
    file_path = 'sales_data.csv'

    create_csv(file_path)

    data = read_data(file_path)

    if data is not None:
        data = clean_data(data)

        total_revenue, revenue_per_product, daily_sales = analyze_data(data)

        visualize_data(revenue_per_product, daily_sales)


if __name__ == "__main__":
    main()

运行结果

Total Revenue: 1050
Revenue per product:
product
Product A    550
Product B    500
Name: revenue, dtype: int64

心得感受

数据分析是现代商业和研究的重要工具,Python作为一种强大且灵活的编程语言,已经成为数据分析领域的首选。
Python拥有丰富的库,可以帮助我们高效地进行数据处理、分析和可视化工作。在本次数据分析程序中,我主要使用了 pandas、matplotlib 和 seaborn 这三个库。
这个python程序综合了我所学到的知识,对我来说是一个很大的挑战。但它让我回顾了我所学到的知识 ,让我的编程能力得到了巨大的进步

...全文
272 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文系统研究了并网虚拟同步发电机(VSG)的自适应惯量阻尼调控策略及其对频率动态响应稳定性的影响,聚焦于VSG在并网工况下的惯量与阻尼协同自适应控制机制。通过构建Simulink仿真模型并结合Matlab代码实现,深入分析VSG的动态特性、有功/无功功率响应及电网频率稳定性,采用根轨迹法评估不同调节系数对系统稳定性的敏感性,揭示其支撑电网频率稳定的能力。研究进一步拓展至微电网黑启动、预同步控制、虚拟阻抗技术以及双机VSG间的功率精确分配等关键应用场景,旨在应对高比例新能源接入带来的系统惯量下降与频率稳定挑战,提升电力系统的韧性与可靠运行水平。; 适合人群:具备电力系统分析、自动控制理论及新能源并网技术背景,熟练掌握Matlab/Simulink仿真工具,从事电气工程、能源互联网、微电网控制等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入探究VSG在并网模式下惯量与阻尼参数的自适应协同调控原理与实现方法;②系统分析VSG控制策略对电网频率动态响应过程的影响规律与稳定边界;③通过仿真实践掌握VSG关键控制参数(如虚拟惯量、阻尼系数)的设计、整定及其对系统性能影响的量化评估;④为微电网的自主黑启动、无缝并网及高渗透率可再生能源系统的频率稳定控制提供先进的技术方案与决策依据。; 阅读建议:建议读者结合文中提供的完整Matlab代码与Simulink模型进行动手仿真实验,重点关注控制策略的模块化设计逻辑、参数动态调整过程与系统整体性能之间的关联,务必结合电力系统小信号稳定性分析理论,深入理解根轨迹、特征值等分析结果所蕴含的物理意义,从而实现从理论到实践的贯通。

110

社区成员

发帖
与我相关
我的任务
社区描述
人生苦短,我用Python!
python3.11 高校
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧