【发布时间】:2020-06-29 22:31:44
【问题描述】:
我正在尝试通过平均 19 年的 NOAA 数据制作一个图表,显示一年中每天的平均温度(旁注,有没有更好的方法来获取历史天气数据,因为 NOAA 似乎超级不一致)。我想知道设置数据的最佳方法是什么。我的数据的相关列如下所示:
DATE PRCP TAVG TMAX TMIN TOBS
0 1990-01-01 17.0 NaN 13.3 8.3 10.0
1 1990-01-02 0.0 NaN NaN NaN NaN
2 1990-01-03 0.0 NaN 13.3 2.8 10.0
3 1990-01-04 0.0 NaN 14.4 2.8 10.0
4 1990-01-05 0.0 NaN 14.4 2.8 11.1
... ... ... ... ... ... ...
10838 2019-12-27 0.0 NaN 15.0 4.4 13.3
10839 2019-12-28 0.0 NaN 14.4 5.0 13.9
10840 2019-12-29 3.6 NaN 15.0 5.6 14.4
10841 2019-12-30 0.0 NaN 14.4 6.7 12.2
10842 2019-12-31 0.0 NaN 15.0 6.7 13.9
10843 rows × 6 columns
DATE 列是 datetime64[ns] 类型
这是我的代码:
import pandas as pd
from matplotlib import pyplot as plt
data = pd.read_csv('1990-2019.csv')
#seperate the data by station
oceanside = data[data.STATION == 'USC00047767']
downtown = data[data.STATION == 'USW00023272']
oceanside.loc[:,'DATE'] = pd.to_datetime(oceanside.loc[:,'DATE'],format='%Y-%m-%d')
#This is the area I need help with:
oceanside['DATE'].dt.year
我一直在尝试按年份分离数据,这样我就可以对其进行平均。我想在不使用for 循环的情况下执行此操作,因为我计划使用更多 更大的数据集来执行此操作,这样效率会非常低。我查看了 pandas 文档,但找不到似乎可以做到这一点的函数。我错过了什么吗?这甚至是正确的方法吗?
我是 pandas/python 数据分析的新手,所以很可能答案就在眼前。
任何帮助将不胜感激!
【问题讨论】:
标签: python pandas dataframe data-analysis