六、练习

Ex1:太阳辐射数据集

现有一份关于太阳辐射的数据集:

In [128]: df = pd.read_csv('data/solar.csv', usecols=['Data','Time',
   .....:                  'Radiation','Temperature'])
   .....: 
In [129]: df.head(3)
Out[129]: 
                    Data      Time  Radiation  Temperature
0  9/29/2016 12:00:00 AM  23:55:26       1.21           48
1  9/29/2016 12:00:00 AM  23:50:23       1.21           48
2  9/29/2016 12:00:00 AM  23:45:26       1.23           48
  1. Datetime, Time 合并为一个时间列 Datetime ,同时把它作为索引后排序。
  2. 每条记录时间的间隔显然并不一致,请解决如下问题:
  3. 找出间隔时间的前三个最大值所对应的三组时间戳。
  4. 是否存在一个大致的范围,使得绝大多数的间隔时间都落在这个区间中?如果存在,请对此范围内的样本间隔秒数画出柱状图,设置 bins=50
  5. 求如下指标对应的 Series
  6. 温度与辐射量的6小时滑动相关系数
  7. 以三点、九点、十五点、二十一点为分割,该观测所在时间区间的温度均值序列
  8. 每个观测6小时前的辐射量(一般而言不会恰好取到,此时取最近时间戳对应的辐射量)

Ex2:水果销量数据集

现有一份2019年每日水果销量记录表:

In [130]: df = pd.read_csv('data/fruit.csv')
In [131]: df.head(3)
Out[131]: 
         Date  Fruit  Sale
0  2019-04-18  Peach    15
1  2019-12-29  Peach    15
2  2019-06-05  Peach    19
  1. 统计如下指标:
  2. 每月上半月(15号及之前)与下半月葡萄销量的比值
  3. 每月最后一天的生梨销量总和
  4. 每月最后一天工作日的生梨销量总和
  5. 每月最后五天的苹果销量均值
  6. 按月计算周一至周日各品种水果的平均记录条数,行索引外层为水果名称,内层为月份,列索引为星期。
  7. 按天计算向前10个工作日窗口的苹果销量均值序列,非工作日的值用上一个工作日的结果填充。