我试图得到过去30天的平均值
这意味着对于第3行,它将是2017-12-15 00:02:00和2018-01-13 00:03:00 1360.618915之间的收盘值的平均值。 到目前为止,我创建了名为minusMonth和plusDay的帮助专栏
结果应该是月底和星期四之间的接近值的平均值。 然而,现在每个时段的计算值相同
gData['result']=gData[(gData['Local time']>gData['minusMonth']) & (gData['Local time']<gData['plusDay'])]['Close'].mean()
Local time Close minusMonth plusDay result
0 2018-01-12 00:00:00 1323.149 2017-12-15 00:00:00 2018-01-13 00:00:00 1360.618915
1 2018-01-12 00:01:00 1322.958 2017-12-15 00:01:00 2018-01-13 00:01:00 1360.618915
2 2018-01-12 00:02:00 1322.951 2017-12-15 00:02:00 2018-01-13 00:02:00 1360.618915
3 2018-01-12 00:03:00 1322.821 2017-12-15 00:03:00 2018-01-13 00:03:00 1360.618915
4 2018-01-12 00:04:00 1322.801 2017-12-15 00:04:00 2018-01-13 00:04:00 1360.618915
... ... ... ... ... ...
1172095 2020-04-04 23:55:00 1617.048 2020-03-07 23:55:00 2020-04-05 23:55:00 1360.618915
1172096 2020-04-04 23:56:00 1617.048 2020-03-07 23:56:00 2020-04-05 23:56:00 1360.618915
1172097 2020-04-04 23:57:00 1617.048 2020-03-07 23:57:00 2020-04-05 23:57:00 1360.618915
1172098 2020-04-04 23:58:00 1617.048 2020-03-07 23:58:00 2020-04-05 23:58:00 1360.618915
1172099 2020-04-04 23:59:00 1617.048 2020-03-07 23:59:00 2020-04-05 23:59:00 1360.618915
1172100 rows × 9 columns
当我使用文本而不是列引用时,它是有效的
[IN] gData[(gData['Local time']>'2018.05.20') & (gData['Local time']<'2018.06.20')]['Close'].mean()
[OUT]1294.6491271981902
这几天我一直很累,希望有人能帮我
您可以使用lambda函数应用于带有
axis = 1
的整个数据帧,因为它应该应用于数据帧的每一行相关问题 更多 >
编程相关推荐