Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在数年的数据帧中绘制月份_Python_Pandas_Matplotlib_Plot - Fatal编程技术网

Python 如何在数年的数据帧中绘制月份

Python 如何在数年的数据帧中绘制月份,python,pandas,matplotlib,plot,Python,Pandas,Matplotlib,Plot,使用此代码: import numpy as np import pandas as pd import matplotlib.pyplot as plt pd.options.display.float_format = '{:.2f}'.format a = pd.read_csv(r'C:\Users\Leonardo\Desktop\TRABALHO\dadosboias\MARINHA_TRATADO\Cabo Frio\boia_1\cabofrio.csv', na_values=

使用此代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
pd.options.display.float_format = '{:.2f}'.format
a = pd.read_csv(r'C:\Users\Leonardo\Desktop\TRABALHO\dadosboias\MARINHA_TRATADO\Cabo Frio\boia_1\cabofrio.csv', na_values=['-9999.0'])
a.index = pd.to_datetime(a[['Year', 'Month', 'Day', 'Hour', 'Minute']])
pd.options.mode.chained_assignment = None
输出如下所示:

index               wspd                wdir    gust            hs
2009-06-24 15:21:00 1.4669884357700003  9.0     2.03121475722   nan
2009-06-24 16:21:00 1.4669884357700003  34.0    2.03121475722   nan
2009-06-24 17:21:00 0.677071585741      127.0   1.35414317148   nan
2009-06-24 18:21:00 0.22569052858000002 146.0   0.902762114322  nan
...                 ...                 ...     ...
2013-02-10 17:21:00 nan                 nan     nan             nan
使用plt.plota.hs,'r'进行简单绘图,输出如下:

可以看出,数据帧在hs列中有许多缺失的数据。主要目的是用数据绘制周期图。在图中,您可以看到2012-03年至2013-3年期间有大量关于hs的良好数据,因此我们的目标是绘制这一时期的曲线,并得出如下结果:

index               wspd                wdir    gust            hs
2009-06-24 15:21:00 1.4669884357700003  9.0     2.03121475722   nan
2009-06-24 16:21:00 1.4669884357700003  34.0    2.03121475722   nan
2009-06-24 17:21:00 0.677071585741      127.0   1.35414317148   nan
2009-06-24 18:21:00 0.22569052858000002 146.0   0.902762114322  nan
...                 ...                 ...     ...
2013-02-10 17:21:00 nan                 nan     nan             nan

如果有人能帮助我,我将不胜感激

您只需选择相关范围,例如

a.loc['2012-03-01':'2013-03-01', 'hs'].plot()

这很有效,谢谢。还有一件事,如果我想在读取文件时只读取这段时间而不是所有数据帧,我该怎么做?要么读取整个数据帧,然后过滤,要么创建一个自定义读取器来过滤不在您范围内的行。