191106_爬数据绘图

本文通过使用Python的pandas和matplotlib库,展示了如何从Excel文件中读取河流流量和气温数据,进行数据预处理,如删除不必要的列、转换日期格式,并将数据按年份分组。随后,通过绘制2017年和2018年的河流流量与气温图表,进行了数据可视化,为数据分析提供了直观的视觉表现。
摘要由CSDN通过智能技术生成

这个单子是一个姑娘,最开始觉得很简单,就是一些数据的可视化,结果有个数据爬取,要用固定的方式爬取,就难在那个地方了,还有学到了如何绘制一图多表

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
test1=pd.read_excel('discharge.xlsx')
test1=test1.drop(['Unnamed: 0'],axis=1)
test1.head()
yeardischarge
02017-01-01185.0
12017-01-02185.0
22017-01-03185.0
32017-01-04185.0
42017-01-05190.0
test2=pd.read_excel('temperature.xlsx')
test2.head()
year0axt
02017-01-0128
12017-01-0227
22017-01-0327
32017-01-0429
42017-01-0540
all_test=pd.merge(test1,test2)
all_test.head()
yeardischarge0axt
02017-01-01185.028
12017-01-02185.027
22017-01-03185.027
32017-01-04185.029
42017-01-05190.040
all_test['year'] = all_test['year'].apply(lambda x: pd.Timestamp(x))
all_test.columns
Index(['year', 'discharge', '0axt'], dtype='object')
all_test['年']=all_test['year'].apply(lambda x: x.year)
all_test.head()
yeardischarge0axt
02017-01-01185.0282017
12017-01-02185.0272017
22017-01-03185.0272017
32017-01-04185.0292017
42017-01-05190.0402017
test_2017=all_test.loc[(all_test['年']==2017)]
test_2018=all_test.loc[(all_test['年']==2018)]
# set up plot
plt.figure(figsize=(10,5))
plt.xlabel('day of year 2017')
# plot data
plt.plot(test_2017.index,test_2017['0axt'],'r',label='temperature')
# plt.plot(data['year'],data['snowprop']*100,'b',label='snow cover %')
# plt.plot(data['year'],100-data['snowprop']*100,'c',label='snow free cover %')
plt.plot(test_2017.index,test_2017['discharge']/100.,'g',label='river flow / 100')
plt.legend(loc='best')

在这里插入图片描述

# set up plot
plt.figure(figsize=(10,5))
plt.xlabel('day of year 2018')
# plot data
plt.plot(test_2018.index,test_2018['0axt'],'r',label='temperature')
# plt.plot(data['year'],data['snowprop']*100,'b',label='snow cover %')
# plt.plot(data['year'],100-data['snowprop']*100,'c',label='snow free cover %')
plt.plot(test_2018.index,test_2018['discharge']/100.,'g',label='river flow / 100')
plt.legend(loc='best')

在这里插入图片描述

a=test_2017.to_numpy
np.save('2016.npy',a)
b=test_2018.to_numpy
np.save('2017.npy',b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值