欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Python数据分析与可视化教案 6.5 工业数据分析与可视化.docx

    • 资源ID:60497333       资源大小:225.87KB        全文页数:10页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Python数据分析与可视化教案 6.5 工业数据分析与可视化.docx

    6.5工业数据分析与可视化作为清洁能源的太阳能相对煤炭石油等能源来说是可再生、无污染的,只要有太阳就 有太阳能,所以太阳能的利用被很多国家列为重点开发工程。太阳能具有波动性和间歇性的特性,太阳能电站的输出功率受光伏板本体性能、气象 条件、运行工况等多种因素影响,具有很强的随机性,由此带来的大规模并网困境严重制 约着光伏发电的开展。因此挖掘光伏发电数据中的价值,对光伏数据进行分析尤为重要。一、数据源分析本案例包括三个数据集:photovoltaic.csv、wind_direction.xlsxs wind_speed.txto ID :表示记录编号。板温:表示光伏电池板背测温度。现场温度:表示光伏电站现场温度。转换效率A :表示数据采集点A处的光伏板转换效率。转换效率B :表示数据采集点B处的光伏板转换效率。转换效率C:表示数据采集点C处的光伏板转换效率。电压A :表示数据采集点A处汇流箱电压值。电压B :表示数据采集点B处汇流箱电压值。电压C :表示数据采集点C处汇流箱电压值。电流A:表示采集点A处汇流箱电流值。电流B :表示采集点B处汇流箱电流值。电流C :表示采集点C处汇流箱电流值。功率A :表示采集点A处的功率Pa. P=UIO功率B :表示采集点B处的功率Pb, P二UI。功率C :表示采集点C处的功率Pc, P=UI。发电量:表示光伏电厂现场发电量。数据源1如图6-*所示。Z| photovoltaic.csv -记事本文件(F)编辑(E)格式(0)查看(V)喏助(H)时间,ID,光照强度,功率A,功率B,功率C,板温现场温度,电压A,电压B,电压C,电流A用流B,电流C,转换效率A,转换效率B,转换效率C,发电量 2018-06-01 08:31:30,9,13,909.72,148.05,1031.03,-19.33,-17.5,722.0,705.0,721.0,1.26,0.21,1.43,259.11,42.17,293.66,1.2899280687752308 2018-06-01 08:34:30,10,34,976.86,155.98,1087.5,-19.14,-17.4729.0,709.0,725.0,1.34,0.22,1.5,106.32,1698,118.36,1.437751581 2018-06-01 08:37:30,11,30,1128.4,172.08,1132.56,-18.73,-17.3,728.0,717.0,726.0,1.55,024,1.56,139.0,21.2,139.51,1.692574814 2018-06-01 08:40:30,12,41,1279.25,166.06,1310.4,-17.54,-17.0,731.0,722.0,720.0,1.75,0.23,1.82,114.86,14.91,117.66,1.975787459 2018-06-01 08:43:30,13,50,1334.07,200.2,1472.58,-16.68,-16.6,729.0,715.0,729.0,1.83,08:46:30,14,53,1474.6,225.37/517.34,-15.43,-16.6,730.0,727.0,726.0,2.02,0.31,2.09,101.72,15.55,104.67,2.370655595 2018-06-01 08:49:30,15,65,1548.51,233.28,1674.4,-14.6,-16.3,727.0,729.0,728.0,2.13,0.32,2.3,86.86,13.09,93.92,2.532091305 2018-06-01 08:52:30,16,76,1619.93,538.72,1723.12,-141,-16.2,733.0,728Q724Q2.21,0.74,2.38,77.59,25.8,82.53,2.779719016 2018-06-01 08:55:30,17,83,1681.68,1677.36,1810.0,-13.27,-16.2,728.0,723.0,724.0,2.31,2.32,2.5,73.55,73.36,79.16,3.3760893010660133 2018-06-01 08:58:30,18,86,1802.96/756.89,1861.12,12.41,16.2,727.0,729.0,727.0248241,2.56,75.89,73.95,78.34,3.6370823761186575 2018-06-01 09:01:30,19,96,1865.82,1865.82,1979.25,-11.25,-159726.0,726.0,725.0,2.57257273,70.09,70.09,74.35,3.832377845 2018-06-01 09:04:30,20,1000923.9,1900.8,2011.59, 10.77,158726Q720.0,721.0265,2.64,2.79,69.27,68.43,72.42,3.956691872ID :表ZF记录编号。风向:表示光伏电厂现场风的来向。* Figure 1簧G6 中Q三上 El不同板温数据段的频数饼图图6-*步骤10 (2)输出结果四、结论1 .从数据筛选分析的结果中可以看出,发电量排名前10条数据中,在可能影响发电量 的四个因素中,转换效率和风速变化没有明显的规律,说明这两个因素可能不是影响发电 量的主要因素。2 .从描述性统计分析的结果中可以看出,在所有统计的月份中,8月的总发电量最高,3 .在统计小时段中,12:00-12:59时间段的平均发电量最大。4 .从相关性分析的结果中可以看出,发电量与光照强度的相关系数最高,说明光照强 度大可以增加发电量。5 .从板温直方图的结果中可以看出,板温基本集中在-20到30,在。到10之间的数据 最多,而且数据有左偏的趋势。6 .从发电量和光照强度双重图折线的结果中可以看出,发电量与光照强度属于紧密相 关,所以如果想要提高发电量,应该想方法增加光照强度。7 .从板温段频数饼图的结果中可以看出,(-5, 5的数据最多,占了 30.8%数据源2如图6-*所示。ID :表示记录编号。风速:表示光伏电厂现场风速测量值。 数据源3如图6-*所示。wind_speed.txt - i己事本 文件(F)编辑(E)格式(0)查看(V)帮助(H) ID风速10.19 030.610 0.81.111 0.90.912 1.10.913 0.71.014 1.51.5图6.*数据源3 (局部) 二、目标1 .根据三个点A、B、C的转换效率、电流、电压、功率计算出综合转换效率、电流、 电压、功率。2 .筛选出板温在10到30之间,发电量排名前10对应的发电量、板温、光照强度、转 换效率、风速,查看是否有一些因素可能对于发电量有影响作用。3 .计算不同月份总发电量,分析哪些月份的总发电量较高。4 ,计算不同小时段的平均发电量,分析哪些小时段平均发电量最高。5 .计算发电量与光照强度、转换效率、板温之间之间的相关系数,分析哪些因素是发 电量的主要因素。6 .根据板温绘制直方图,查看板温的数据分布。7 .根据发电量和光照强度两列数据绘制双重折线图,并查看其关系,因为两列数据的 数据量纲不同,可以先对数据进行标准化再画图。8 .将板温进行数据分段,再绘制段的饼图,分析哪个板温段占比做多。三、分析步骤步骤1:导入库,设置参数。(1)导入所需要的库 pandas、numpy、matplotlib.pyploto(2)利用pd.set_option解除显示宽度的显示,设置数据对齐。(3)利用reParams设置相关参数,将显示字体设置为黑体,设置显示负号,字体大 小设置为15。步骤1代码如下:import pandas as pdimport matplotlib.pyplot as pitpd.set_optionCdisplay.unicode.east_asian_widthTrue)pd.seCoptionC'display.widthNone)pltrcParams,font.sans-serif=,Simhei,plt.rcParamsaxes.unicode_minus'=Falseplt.rcParams 'font, size' =15步骤2:读入数据,合并数据,显示数据形状。(1)导入光伏数据的 photovoltaic.csv、wind_direction.xlsxs wind_speed.txt (三个文件 均存放在c:data路径中),将导入的数据命名为datal、data2、data3o其中,wind_speed.txt 文件的分隔符是Tab, wind_direction.xlsx的数据在Sheetl工作表内。(2)利用merge函数将data 1、data2s data3三个数据按照关键字段“ID”进行合并, 合并方式为内连接,命名为data。(3)输出data的行数、列数、列名以及前5行。步骤2 (1)代码如下:datal = pd.read_csv(nc:/data/photovoltaic.csvn)data2 = pd.read_excel(nc:/data/wind_direction.xlsxn)data3 = pd.read_csv(nc:/data/wind_speed.txtn, sep='t')步骤2 (2)代码如下:data = pd.merge(datal,data2,on='ID')data = pd.merge(data,data3,on=TD')步骤2 (3)代码如下:print("数据的行数=%dn 数据的列数=%dH%(data.shapeO,data.shape 1 )print("数据的列名为:n”, data, columns)print("数据的前 5 行为:n”,data.head。)输出结果如图6-*所不。Run:6-5=5C:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py 数据的行数=17409 数据的列数=20 数据的列名为:Index('时间','ID','光照强度','功率A','功率B','功率U,'板温','现场温度','电压A','电压B','电压C','电流A','电流'电流U,'转换效率A','转换效率B','转换效率C','发电量','风向','风速 dtype='object')数据的前5行为:时间ID光照强度功率A功率B功率C板温现场温度电压A电压B电压C电流A 电流B 电流C转招02018-06-01 08:07:30110.000.000.000.010.10.00.00.00.000.0012018-06-01 08:31:30913909.72148.051031.03 -19.33-17.5722.0705.0721.01.260.2122018-06-01 08:34:301034976.86155.981087.50 -19.14-17.4729.0709.0725.01.340.2232018-06-01 08:37:3011301128.40172.081132.56 -18.73-17.3728.0717.0726.01.550.2442018-06-01 08:40:3012411279.25166.061310.40 -17.54-17.0731.0722.0720.01.750.23Process finished with exit code 0图6-*步骤2输出结果步骤3 :添加新列。(1)生成新列“转换效率”,计算公式为:转换效率=(转换效率A+转换效率B+转 换效率C) 13。(2)生成新列“电压”,计算公式为:电压=(电压A+电压B+电压C) /3。(3)生成新列“电流”,计算公式为:电流二(电流A+电流B+电流C) /3。(4)生成新列“功率”,计算公式为:功率=(功率A+功率B+功率C) /3。步骤3代码如下:data/转换效率I = (data转换效率A* + data转换效率B* + data转换效率C')/3data'电压】=(data'电压 A1 + data电压 B' + data'电压。)/3data电流卜(data电流A1 + data电流B' + data电流。)/3data功率 1 = (data功率 A1 + data/功率 B* + data功率。)/3print(data转换效率?电压?电流:功率输出结果如图6-*所示。Run:6-5C:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py转换效率电压电流功率00.0000000.0000000.0000000.0000001198.313333716.0000000.966667696.266667280.553333721.0000001.020000740.113333399.903333723.6666671.116667811.013333482.476667724.3333331.266667918.570000Process finished with exit code 0图6-*步骤3输出结果步骤4 :时间序列处理(1)将“时间”列转换为日期格式。(2)从“时间”列中分别抽取出月、日、小时,并生成新变量“月”、“日"、时步骤4 (1)代码如下:data时间'=pd.to_datetime(data时间')步骤4 (2)代码如下:data月'=data时间.dt.monthdata日'=data时间dt.daydata时'=data时间.dt.hour print(data月?日;时川:5) 输出结果如图6-*所不。Run:6-5AC:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py月日时 0618 rp16182618Process finished with exit code 0图6-*步骤4输出结果步骤5:数据筛选。筛选出板温在10到30之间,发电量排名前10对应的发电量、板 温、光照强度、转换效率、风速。步骤5代码如下:data_loc = data.loc(data'板温'>=10) & (data'板温'<=30)data Joe = round(dataoc.sort_values(by='发电量ascending = False)print(data_k)c发电量,板温?光照强度?转换效率?风速R:10)输出结果如图6-*所不。Run:6-5» 个 C:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py发电量板温光照强度转换效率风速1557212.321.491319.92.951557412.220.977523.61.7934312.110.773026.72.5934212.110.275325.70.0872712.110.168928.01.0934012.110.674825.80.01557812.023.892420.11.9934111.911.174125.61.11557611.921.193419.11.3933911.910.772326.50.5Processfinished withexit code 0图6-*步骤5输出结果步骤6 :描述性统计分析(1)计算不同月份发电量,并按降序排序。(2)计算不同小时段的平均发电量,并按降序排序。步骤6 (1)代码如下:group_resultl = data.groupby(by='月')/发电量1.sum() group_resultl = group_result 1 .sort_values(ascending=False) print("不同月份发电量:n ” ,group_resul 11)输出结果如图6-*所不。6-5C:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py 不同月份发电量:月方835314.701643过735205.668859622809.88587995818.123707 Name:发电量,dtype: float64Process finished with exit code 0图6-*步骤6 (1)输出结果步骤6 (2)代码如下:group_result2 = data.groupby(by=,时)发 电量.sum()group_result2 = group_result2.sort_values(ascending=False) prin t("不同小时段的平均发电量:ngroup_resul 输出结果如图6.*所不。Run:6-5C:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py 不同小时段的平均发电量:时1215931.8922941315335.5878131114554.8092571413115.2702881011238.975521159859.02395697527.459692165660.77208883301.213208172131.5937367296.44158018192.80120662.539450Name:发电量,dtype: float64Process finished with exit code 0图6-*步骤6 (2)输出结果步骤7:相关性分析。计算发电量与光照强度、转换效率、板温之间之间的相关系 数。步骤7代码如下:data_corr = data发电量;光照强度转换效率?板温Rprint(data_con.corr()输出结果如图6-*所不。Run:6-5>C:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py发电量光照演度转换效率 板温发电量 1.000000 0.879766 -0.124008 0.512180« rp 光照强度 0.879766 1.000000 -0.251364 0.696835过 转换效率-0.124008 -0.251364 1.000000 -0.238970, 板温 0.512180 0.696835 -0.238970 1.000000Process finished with exit code 0图6-*步骤7输出结果步骤8 :板温直方图。根据板温绘制直方图,直方图柱子设为30个,柱子颜色设为天 蓝,边缘颜色设为黑色,直方图标题设为“板温直方图”,x轴标题设为“板温”,y轴标题设为“频数”,y轴标题旋转度数设为。,y轴刻度设为0, 300, 600, 900, 1200, 1500o 步骤8代码如下:plt.hist(data板温】,bins=30, color='skyblue',edgecolor='k')pit. title。板温直方图)plt.xlabel,板温)plt.ylabel('频数',rotation=0)plt.yticks(np.arange(0,1501,300)plt.show()输出结果如图6-*所示。® Figure 1- X,育G今 中Q三上 El图6-*步骤8输出结果步骤9 :绘制双重折线图。(1)将发电量和光照强度两列的数据进行标准化,数据标准化的方法为: (数据-平均值)/标准差。(2)根据发电量和光照强度两列的标准化数据绘制线性关系双重折线图,x轴为 ID, x轴范围为。到1000,颜色分别设为棕色和黄绿色,添加图例。步骤9 (1)代码如下:yl = data1发电量】meanl = data发电量.mean() stdl =data'发电量std() y l_std = (yl-mean 1 )/std 1 y2 = data光照强度mean2 = data光照强度mean()std2 = data'光照强度1.std()y2_std = (y2-mean2)/std2print(”发电量标准化前5行数据为:n”,yl_std:5)print("光照强度标准化前5行数据为:n'y2_std:5) 输出结果如图6-*所不。Run:6-5C:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py 发电量标准化前5行数据为:0-1.5424281-1.2723962-1.2297003-1.1560994-1.074298Name:发电量,dtype: float64光照强度标准化前5行数据为:0-1.5408261-1.4863132-1.3909153-1.4090864-1.359115Name:光照强度,dtype: float64Process finished with exit code 0图6-*步骤9 (1)输出结果 步骤9 (2)代码如下:x = datafID'plt.pk>t(x,yl_std,color='brown'Jabel='发电量')pltplot(x,y2_std,cok)r=,yellowgreenUabel='光照强度)plt.legend(loc = 'upper right1)plExlabelCID1)plt.xlim(OJOOO)plt.show()输出结果如图6-*所示。Figure 1 X伊今 +Q三廿 E)图6-*步骤9 (2)输出结果步骤10:绘制饼图。(1)将板温分成六段,从-25到35每隔10为一段,并统计各段的频数,并降序排 序。(2)根据板温的分段数据绘制饼图,内部文本颜色大小设为深绿色、14,饼图的外部 文本颜色大小设为红色、16,设置标题为“不同板温数据段的频数饼图”。步骤10 (1)代码如下:data板温段=pd.cut(data板温工-25, -15, -5, 5, 15, 25, 35)result = data板温段'.value_counts()result = result.sort_values(ascending=False)print("各板温段频数为:n” jesult)输出结果如图6-*所不。Run:6-5AC:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/sjfx/6-5.py各板温段频数为:I(-5, 5 (5, 15 (15, 25534445573272(-15, -52602(25, 351224(-25, -15368Name:板温段,dtype: int64Process finished with exit code 0图6-*步骤10 (1)输出结果步骤10 (2)代码如下:c = ,darkorange7yellowgreenVskyblue,lightyellowVlightgreen,pink,patches, text 1 ,text2 = pltpie(x=result,labels=result.index,autopct = 1%. If%',colors = c,radius=l) for i in textl:i.set_size(16)i.set_color(Ted')for i in text2:i.set_size(14)iset_color('darkgreen')pit. title。不同板温段的频数”,color=b)plt.show()输出结果如图6-*所示。

    注意事项

    本文(Python数据分析与可视化教案 6.5 工业数据分析与可视化.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开