大佬教程收集整理的这篇文章主要介绍了如何仅使用具有唯一值的数据帧部分绘制时间序列,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个 df:
索引 | 代码 | 日期 | STATION | TMAX | TMIN | PP |
---|---|---|---|---|---|---|
0 | 130 | 1/01/1991 | NaN | 32.6 | 23.4 | 0 |
1 | 130 | 2/01/1991 | NaN | 31.2 | 22.4 | 0 |
... | ... | ... | ... | ... | ... | ... |
10865 | 130 | 31/12/2020 | Rica Playa | NaN | NaN | NaN |
10866 | 182 | 1/01/1991 | NaN | 31.4 | 29.3 | 0,5 |
10867 | 182 | 2/01/1991 | NaN | 33.5 | 30.1 | 0.6 |
... | ... | ... | ... | ... | ... | ... |
每个车站都有一个唯一的代码,日期是从 1/01/1991 到 31/12/2020 (dd/mm/yy)。我想为从 1/01/1991 到 31/12/2020 的每个 STATION 绘制 TMAX、TMIN 和 PP(同一图形中的三个变量)的时间序列。有371个唯一代码站。
你介意帮我一下吗?谢谢。
import numpy as np
import pandas as pd
data = [ { "Index": 0,"CODE": 130,"DATE": "1/01/1991","STATION": np.NaN,"TMAX": "32.6","TMIN": "23.4","PP": "0" },{ "Index": 1,"DATE": "2/01/1991","TMAX": "31.2","TMIN": "22.4",{ "Index": 10865,"DATE": "31/12/2020","STATION": "Rica Playa","TMAX": np.NaN,"TMIN": np.NaN,"PP": np.NaN },{ "Index": 10866,"CODE": 182,"TMAX": "31.4","TMIN": "29.3","PP": "0.5" },{ "Index": 10867,"TMAX": "33.5","TMIN": "30.1","PP": "0.6" } ]
df = pd.DataFrame(data)
# make sure these columns are of dtype float
df['TMAX'] = pd.to_numeric(df['TMAX'])
df['TMIN']= pd.to_numeric(df['TMIN'])
df['PP']= pd.to_numeric(df['PP'])
# load the dates as datetiR_612_11845@e
df['DATE'] = pd.to_datetiR_612_11845@e(df['DATE'])
# groupby code
stations = df.groupby(['CODE'])
现在您可以通过车站代码访问每个车站并绘制该车站的图表:
stations.get_group(182).plot('DATE',["TMAX","TMIN","PP"])
站 182 的输出:
遍历组:
import matplotlib.pyplot as plt
for name,station_df in stations:
#create plot
plot = station_df.plot('DATE',"PP"])
# save to file
plt.savefig(str(Name) + '.png')
以上是大佬教程为你收集整理的如何仅使用具有唯一值的数据帧部分绘制时间序列全部内容,希望文章能够帮你解决如何仅使用具有唯一值的数据帧部分绘制时间序列所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。