mazhaohai的个人博客分享 http://blog.sciencenet.cn/u/mazhaohai

博文

[转载] python 作业 上海交通大学 期末大作业

已有 2674 次阅读 2013-4-18 09:58 |个人分类:Python|系统分类:博客资讯|关键词:python,作业,上海交通大学,期末大作业| Python, 上海交通大学, 作业, 期末大作业 |文章来源:转载

# 统计每一年晴、雨、多云、阴、雪、雾霾、沙尘的天数,

# 统计每一年持续1天、2天、3天、 上雾霾的次数,并绘制成柱状图

#  根据前一天的天气情况预测第二天是否会降水

#%%

import pandas  

import matplotlib.pyplot as matpyplot

data=pandas.read_excel('Weather.xlsx')

for j in range(7):

   Shine=0

   Rain=0

   Cloud=0

   Overcast=0

   Snow=0

   Haze=0

   Sand=0

   year=list()

   for i in data.index:

       

       if '{}'.format(2011+j) in data.ix[i][0]:

           year.append(data.ix[i][3])

           if '晴' in data.ix[i][3]:

               Shine+=1

           if '雨' in data.ix[i][3]:

               Rain+=1

           if '多云' in data.ix[i][3]:

               Cloud+=1

           if '阴' in data.ix[i][3]:

               Overcast+=1

           if '雪' in data.ix[i][3]:

               Snow+=1

           if '霾' in data.ix[i][3]:

               Haze+=1

           if '尘' in data.ix[i][3]:

               Sand+=1

   matpyplot.subplot(3,3,j+1)

   labels='Shine','Sand','Rain','Snow','Cloud','Overcast','Haze'

   l=len(year)



#%%

import pandas  

import numpy  

import matplotlib.pyplot as matpyplot

data=pandas.read_excel('Weather.xlsx')

data_sort=data.sort_values(by='日期')

date=data_sort.日期

tianqi=data_sort.天气

day_one=list()

day_two=list()

day_three=list()

day_four=list()

day_five=list()

for j in range(7):

   m=1

   days=list()

   bools=list()

   for index in list(date):

       bools.append('{}'.format(j+2011) in index)

   date_year=list(tianqi[bools])

   

   for i in range(len(date_year)):

       if i+1<len(date_year):

           if '霾' in date_year[i]:

               if '霾' in date_year[i+1]:

                   m+=1

                   continue

               else:

                   days.append(m)

                   m=1

           else:

               continue

       elif '霾' in date_year[i]:

           days.append(m)

   day_one.append(days.count(1))

   day_two.append(days.count(2))

   day_three.append(days.count(3))

   day_four.append(days.count(4))

   day_five.append(len(days)-days.count(1)-days.count(2)-days.count(3)-days.count(4))

groups=7

index=numpy.arange(groups)

bar_width=0.2

matpyplot.bar(index,day_one,bar_width,alpha=0.5,label='1 day')

matpyplot.bar(index+bar_width,day_two,bar_width,alpha=0.5,label='2 days')

matpyplot.bar(index+2*bar_width,day_three,bar_width,alpha=0.5,label='3 days')

matpyplot.bar(index+3*bar_width,day_four,bar_width,alpha=0.5,label='4 days')

matpyplot.bar(index+4*bar_width,day_five,bar_width,alpha=0.5,label=' >=5 days')


#%%



data=pandas.read_excel('Weather.xlsx')

data_sort=data.sort_values(by='日期')                      

Weather=data_sort.天气                                  

List_Weather=list(Weather)                              

Weather_num=list()


List_Rain=list()

for i in List_Weather:

   if '雨' in i or '雪' in i:

       List_Rain.append(1)

   else:

       List_Rain.append(0)

   Weather_array=[0,0,0,0,0,0,0]

   if '晴' in i:

       Weather_array[0]=1

   if '雨' in i:

       Weather_array[1]=1

   if '雪' in i:

       Weather_array[2]=1

   if '多云' in i:

       Weather_array[3]=1

   if '阴' in i:

       Weather_array[4]=1

   if '霾' in i:

       Weather_array[5]=1

   if '尘' in i:

       Weather_array[6]=1

   Weather_num.append(Weather_array)

del Weather_num[len(Weather_num)-1]                  

del List_Rain[0]      

                             

# LogisticRegression  

from sklearn.linear_model import LogisticRegression

lr=LogisticRegression()

lr.fit(Weather_num,List_Rain)

print('LogisticRegression 采用训练数据测试分数为:{}'.format(lr.score(Weather_num,List_Rain)))


# LogisticRegression    

from sklearn.cross_validation import cross_val_score

lr=LogisticRegression()

scores=cross_val_score(lr,Weather_num,List_Rain,cv=5,scoring='accuracy')

print('LogisticRegression 5折交叉验证分数:{}'.format(scores.mean()))



**************************

#%%





http://blog.sciencenet.cn/blog-901783-681343.html

上一篇:[转载] python 作业 上海交通大学 期末大作业
下一篇:[转载]中科院2009年高等代数

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-11-12 08:37

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部