python大作业500行代码

大家好,小编来为大家解答以下问题,python大作业有哪些题目,python大作业设计报告,现在让我们一起来看看吧!

大家好,小编为大家解答python大作业代码及文档的问题宿迁趣品网络。很多人还不知道python大作业有哪些题目,现在让我们一起来看看吧!

Python数据分析与应用大作业

使用学习过的知识(Numpy数值分析基础、Matplotlib数据可视化基础、Pandas统计分析基础),对用户用户用电量数据进行相关处理,其中数据中有编号为1-200的200位电力用户,DATA_DATE表示时间,如2015/1/1表示2015年1月1日,KWH为用电量。请完成以下工作:

一、将数据进行转置,转置后行为用户编号、列为日期、值为用户每日用电量ai伪原创api,如何用php调用。

二、对数据中的异常数据进行识别并处理。

三、统计每个用户用电数据的基本统计量,包括:最大值、最小值、均值、中位数、和、方差、偏度、峰度。

四、每个用户用电数据按日差分,并求取差分结果的基本统计量,统计量同三。

五、求取每个用户的5%分位数。

六、每个用户按周求和并差分(一周7天,年度分开),并求取差分结果的基本统计量,统计量同三。

七、统计每个用户的日用电量在其最大值0.9倍以上的次数。

八、求取每个用户日为最大值/最小值的索引月份,若最大值/最小值存在于多个月份中,则输出含有最大值/最小值最多的那个月份。如1号用户的最小值为0,则看哪个月的0最多。

九、求取每个用户七八月电量和与三四月电量和的比值,最大值的比值,最小值的比值,均值(日均电量)的比值。

十、合并上述特征。

一、将数据进行转置,转置后行为用户编号、列为日期、值为用户每日用电量

import pandas as pd
data = pd.read_csv('', encoding='gbk')
# 转置data
# result = data.reset_index().pivot('CONS_NO', 'DATA_DATE', 'KWH')
data['DATA_DATE'] = pd.to_datetime(data['DATA_DATE'])
result = pd.pivot_table(data, index='CONS_NO', columns='DATA_DATE')
print(result)

导入pandas,导入文件同时编码设置为GBK,把DATA_DATE转换为时间序列,使用透视表将index设置为'CONS_NO',columns设置为'DATA_DATE'。

注意:若此处不把DATA_DATE转换成时间序列,那么columns的排列顺序将不是按照时间顺序,而是按照数字顺序。例:未转换时,顺序为2015/1/1, 2015/1/10, 2015/1/11 , ...;转换后,顺序为2015/1/1, 2015/1/2 , 2015/1/3 , ...。

二、对数据中的异常数据进行识别并处理

# 异常值识别处理
null_value = data.isnull().sum() # 缺失值识别
print("data具有的缺失值:\n",null_value)
data.fillna(method='pad', inplace=True) # 缺失值处理方法:用前一个数据进行填充
null_value = data.isnull().sum()
print("data处理缺失值之后:\n",null_value)
u = data['KWH'].mean()
o = data['KWH'].std()
three_uo = data['KWH'].apply(lambda x: x>u+3*o or x<u-3*o)
result1 = [three_uo, 'KWH'] # 使用3σ方法识别异常值
print("data在3σ下具有的异常值:\n",result1)

使用导入的data数据进行缺失值识别,识别方法为isnull结合sum方法确定缺失值的个数,再使用fillna方法填充缺失值;异常值识别方法为3σ方法识别异常值。偷懒了没有对异常值进行处理

说明:

pandas提供了识别缺失值的方法isnull以及识别非缺失值的方法nonull,这两种方法在使用时返回的都是bool值True和False,结合sum函数,可以检测数据中缺失值的分布以及数据中一共含有多少缺失值。isnull和nonull之间的结果正好相反。

处理缺失值有三种方法:

删除法 —— 删除法可以分为删除观测记录和删除特征两种,它属于利用减少样本量来换取信息完整度的一种方法,是一种最简单的缺失值处理方法。pandas中提供了简便的删除缺失值的方法 dropna ,该方法既可以删除观测记录,亦可以删除特征。 替换法 —— 特征可分为数值型和类别型。当缺失值所在特征为数值型时,通常利用其均值、中位数和众数等描述其集中趋势的统计量来代替缺失值;当缺失值所在特征为类别型时,则使用众数来替换缺失值。PS:这里使用了pandas提供的 fillna 方法进行缺失值替换,原理是当 method 为 pad 时使用上一个非缺失值填补缺失值,当 method 为 bfill 时使用下一个非
原文地址1:https://blog.csdn.net/ai_lover_cat/article/details/132582299
python手册 http://www.78tp.com/python/

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值