数据分析之numpy实例

我在这里写了分析2013年北京城市污染情况,源文件我已经上传了,网址:[https://download.csdn.net/download/li_peipei/10709535],如果没有下载币的可以私聊我给你。

import numpy as np
#注释部分是我将原来的数据删除缺省值,因为for循环运行很耽误时间
#所以运行一次后就保存在了另外的文件中,接下来的代码就操作另外的文件
# a=np.loadtxt('./youtube_video_data/BeijingPM20100101_20151231.csv',delimiter=',',dtype='str',skiprows=1)
# beijingdata=np.array([[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]])
# for i in a:
#     if i[6]!='NA' and i[7]!='NA' and i[8]!='NA':
#         beijingdata=np.append(beijingdata,[i],axis=0)
# np.savetxt('beijing.csv',beijingdata,fmt='%s',delimiter=',')
# print(beijingdata)
#读取文件,只读第1,2,6,7,8,且跳过第一行的标题
beijingdata=np.loadtxt('./beijing.csv',delimiter=',',dtype='int',skiprows=1,usecols=(1,2,6,7,8))
#所有的小时数
hours=beijingdata.shape[0]*3
#重度污染
heavy_count=np.sum(beijingdata[:,[2,3,4]]>150)
heavy_lu=heavy_count/hours
#中度污染
medium_count=np.sum(beijingdata[:,[2,3,4]]>75)-heavy_count
medium_lu=medium_count/hours
#轻度污染
light_count=np.sum(beijingdata[:,[2,3,4]]>35)-medium_count-heavy_count
light_lu=light_count/hours
#良好
good_count=np.sum(beijingdata[:,[2,3,4]]>0)-light_count-heavy_count-medium_count
good_lu=good_count/hours
print('不同程度的污染所占用的时间',heavy_lu,medium_lu,light_lu,good_lu)
monthdata=np.array([['时间','四环','四环东','农展馆']])
for i in range(3,13):
    t=beijingdata[:,1]==i
    hours_all=np.sum(t==True)
    first_monavg=np.sum(beijingdata[:,2][t])/hours_all
    second_monavg=np.sum(beijingdata[:,3][t])/hours_all
    third_monavg=np.sum(beijingdata[:,4][t])/hours_all
    time='2013-{}'.format(i)
    mon_list=np.array([time,str(first_monavg),str(second_monavg),str(third_monavg)])
    #print(mon_list)
    monthdata=np.vstack((monthdata,mon_list))
print('每月各个地区PM2.5的平均值:')
print(monthdata)

如果有错误或者问题请及时联系我

猜你喜欢

转载自blog.csdn.net/Li_peipei/article/details/82988430
今日推荐