【发布时间】:2021-04-26 07:03:53
【问题描述】:
我有两个数据框,一个叫Clim,一个叫O3_mda8_3135。 Clim是一个数据框,包括一年数据的月平均气象参数;这是数据框的示例:
Clim.head(12)
Out[7]:
avgT_2551 avgT_5330 ... avgNOx_3135(ppb) avgCO_3135(ppm)
Month ...
1 14.924181 13.545691 ... 48.216128 0.778939
2 16.352172 15.415385 ... 36.110385 0.605629
3 20.530879 19.684720 ... 20.974544 0.460571
4 23.738576 22.919158 ... 14.270995 0.432855
5 26.961927 25.779007 ... 11.087005 0.334505
6 32.208322 31.225072 ... 12.801409 0.384325
7 35.280124 34.265880 ... 10.732970 0.321284
8 35.428857 34.433351 ... 11.916420 0.326389
9 32.008317 30.856782 ... 15.236616 0.343405
10 25.691444 24.139874 ... 24.829518 0.467317
11 19.310550 17.827946 ... 36.339847 0.621938
12 14.186050 12.860077 ... 49.173287 0.720708
[12 rows x 20 columns]
我还有数据框O3_mda8_3135,它是通过首先计算每个组件的滚动 8 小时平均值,然后找到臭氧的最大每日值创建的,这就是所有时间戳和索引都不同的原因。一年中的每一天,每个气象参数都有一个值。这是此数据框的示例:
O3_mda8_3135
Out[9]:
date Temp_C_2551 ... CO_3135(ppm) O3_mda8_3135
12 2018-01-01 12:00:00 24.1 ... 0.294 10.4000
36 2018-01-02 12:00:00 26.3 ... 0.202 9.4375
60 2018-01-03 12:00:00 22.8 ... 0.184 7.1625
84 2018-01-04 12:00:00 25.6 ... 0.078 8.2500
109 2018-01-05 13:00:00 27.3 ... NaN 9.4500
... ... ... ... ...
8653 2018-12-27 13:00:00 19.6 ... 0.115 35.1125
8676 2018-12-28 12:00:00 14.9 ... 0.097 39.4500
8700 2018-12-29 12:00:00 13.9 ... 0.092 38.1250
8724 2018-12-30 12:00:00 17.4 ... 0.186 35.1375
8753 2018-12-31 17:00:00 8.3 ... 0.110 30.8875
[365 rows x 24 columns]
我想知道如何从O3_mda8_3135 中的相应列和行中减去Clim 中的平均值。例如,我想从另一个数据框O3_mda8_3135、列名Temp_C_2551 中的一月份的每一天中减去一月份站点 2551 的温度平均值(avgT_2551 数据框中的第 1 个月)。
avgT_2551 对应于另一个数据帧中的Temp_C_2551
有没有简单的方法来做到这一点?我应该从日期时间中提取月份并将其放入 O3_mda8_3135 数据框的另一列吗?我仍然是初学者,如果有任何建议或提示,我将不胜感激。
我看到了这篇帖子 How to subtract the mean of a month from each day in that month?,但没有足够的信息让我了解正在执行的操作。
【问题讨论】:
标签: python pandas dataframe datetime subtraction